|
|
|
#1
|
||||
|
||||
|
Use this to get windows name
function WindowsName: String; var EditionID,ProductName :String; Version: TWindowsVersion; begin if Version.NTPlatform then begin RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion','ProductName', ProductName); RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion','EditionID', EditionID); if Pos(EditionID, ProductName) <> 0 then SetLength(ProductName,Pos(EditionID, ProductName) - 1) else ProductName:= ProductName + ' '; StringChange(ProductName, 'Microsoft ', ''); if Version.ServicePackMajor <> 0 then Result := ProductName + 'Service Pack ' + InttoStr(Version.ServicePackMajor) else begin SetLength(ProductName,Length(ProductName) - 1) Result := ProductName; end; end else Result := 'Unknown Operating System'; end; how to use System.Caption:=WindowName; and use this to get video memory type PDisplay_Device = record cb: DWord; DeviceName: array [0..31] of char; DeviceString: array [0..127] of char; StateFlags: DWord; DeviceID, DeviceKey: array [0..127] of char; end; function EnumDisplayDevices(lpDevice, iDevNum: DWord; var lpDisplayDevice: PDisplay_Device; dwFlags: DWord): Boolean; external '[email protected] Stdcall'; function RoundUp(Num: Integer): Integer; var i, k: Integer; begin i:= trunc(Num/64); k:= 64*i; if (k<Num) then i:=i+1; k:= 64*i; Result:= k; end; function MBToGB(MB : Integer): String; begin if Length(IntToStr(MB)) > 3 then Result := Copy(IntToStr(MB), 0, Length(IntToStr(MB))-3) + '.' + Copy(IntToStr(MB), Length(IntToStr(MB))-2, 1) + ' GB' else Result := IntToStr(MB) + ' MB'; end; function VideoSize: Integer; var lpDisplayDevice: PDisplay_Device; DeviceKey: String; DeviceValue: Cardinal; DeviceName: AnsiString; begin lpDisplayDevice.cb := SizeOf(lpDisplayDevice); DeviceKey:= ''; n:= 0; while not (EnumDisplayDevices(0, n, lpDisplayDevice, 0)and(lpDisplayDevice.StateFlags and 4 > 0))and(n < 127) do n:= n+1; for n := 0 to 127 do DeviceKey:= DeviceKey + lpDisplayDevice.DeviceKey[n]; Delete(DeviceKey, Pos(Chr(0), DeviceKey), 127); StringChange(DeviceKey, '\Registry\Machine\', ''); i := 1; DeviceValue := 0; if RegQueryBinaryValue(HKLM, DeviceKey, 'HardwareInformation.MemorySize', DeviceName) then for n := 1 to Length(DeviceName) do begin DeviceValue := DeviceValue + Ord(DeviceName[n])*i; i := i*$100; end else if not RegQueryDWordValue(HKLM, DeviceKey, 'HardwareInformation.MemorySize', DeviceValue) then RegQueryDWordValue(HKLM, DeviceKey + '\Info', 'VideoMemory', DeviceValue); DeviceName:= ''; for n := 0 to 127 do DeviceName := DeviceName + lpDisplayDevice.DeviceString[n]; Delete(DeviceName, Pos( Chr(0), DeviceName ), 127); Result:=RoundUp(DeviceValue/(1024*1024)); end; how to use VideoMem.Caption:=MBToGB(VideoSize); |
| The Following 2 Users Say Thank You to Razor12911 For This Useful Post: | ||
Carldric Clement (28-11-2014), mausschieber (28-11-2014) | ||
| Sponsored Links |
|
#2
|
||||
|
||||
|
Quote:
What is [n:= 0;]? ![]()
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Conversion Designer/Installer Creator | Razor12911 | Conversion Tutorials | 1613 | 03-10-2024 01:24 |
| test my setup installer | lhanz678 | Conversion Tutorials | 25 | 20-04-2016 05:39 |
| Custom Installer (help test ) windows 8 | Dante1995 | Conversion Tutorials | 4 | 07-07-2014 03:43 |