Jak wykryć wersję Windows na podstawie Rejestru
Marco_99
Wstaw na formę: Buttona
W sekcji uses dodaj moduł: Registry
Zdarzenie dla Buttona:
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
Ver_Win: String;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion',True);
Ver_Win := Reg.ReadString('ProductName');
if Ver_Win = '' Then
Begin
Reg.OpenKey('SOFTWARE\\Microsoft\\Windows\\CurrentVersion',True);
Ver_Win := Reg.ReadString('ProductName');
end;
Canvas.TextOut(40, 20, Ver_Win);
Reg.Free;
end;
przecież można prościej ale z labelem
można jeszcze dopisac tak :
Ver_Win := Reg.ReadString('ProductName')+' '+Reg.ReadString('CurrentVersion')+' '+'Build ('+Reg.ReadString('CurrentBuildNumber')+')';
na Windows Millenium zwraca wartość "Microsoft Windows ME".
A dlaczego Canvas.TextOut - to ShowMessage to już za wiele? :)
Chyba prościej jednak skorzystać z GetVersionEx
Testowałem to na Windows 2000, Windows XP i Windows 98, nie wiem jak z Windows 95 i Me.