Акжан в сети - На уровень вверх(W32) Как из программы выявить версию Windows, на кого зарегистрирована и т.п.?

Вот тебе к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;

Jacky Shikerya

(2:466/101.15)

Выше был приведён кусочек из Windows 95/98 Registry. В Windows NT эта ветвь находится в разделе

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]

Кроме того, обязательно посмотрите на список функций WinAPI, имена которых начинаются с Get....

Например, GetComputerName, GetVersionEx, GetSystemInfo, SystemParametersInfo.