Советы по Delphi

         

Как из программы выявить версию Windows, на кого зарегистрирована и т.п.?


Nomadic пишет:

Вот тебе кyсочек Windows Registry, pазбиpайся: === Cut here! [a.reg] === REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion] "InstallType"=hex:03,00 "SetupFlags"=hex:08,01,00,00 "DevicePath"="C:\\WINDOWS\\INF" "ProductType"="9" "RegisteredOwner"="Jacky Shikerya" "RegisteredOrganization"="SigmaЩ Soft. Universal ltd.й" "ProductId"="12095-OEM-0004226-12233" "LicensingInfo"="" "SubVersionNumber"=" B" "InventoryPath"="C:\\WINDOWS\\SYSTEM\\PRODINV.DLL" "ProgramFilesDir"="C:\\Program Files" "CommonFilesDir"="C:\\Program Files\\Common Files" "MediaPath"="C:\\WINDOWS\\media" "ConfigPath"="C:\\WINDOWS\\config" "SystemRoot"="C:\\WINDOWS" "OldWinDir"="" "ProductName"="Microsoft Windows 95" "FirstInstallDateTime"=hex:81,73,b0,22 "Version"="Windows 95" "VersionNumber"="4.00.1111" "BootCount"="3" "OtherDevicePath"="C:\\WINDOWS\\INF\\OTHER" === And cut Here!(or there?!) [a.reg] === В uses пpописываешь модуль Registry и дальше так:

    var
R:TRegistry;
No:String;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
R.OpenKey('....', False) {если false то пытается откpыть не создавая}
No:=R.ReadString('VersionNumber');
if No=..... then ...... else ......
end
;

Выше был приведён кусочек из Windows 95/98 Registry. В Windows NT эта ветвь находится в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion] Кроме того, обязательно посмотрите на список функций WinAPI, имена которых начинаются с Get.... Например, GetComputerName, GetVersionEx, GetSystemInfo, SystemParametersInfo. [001218]



Содержание раздела