FAQ » Rejestr

Jak wykryć wersję Windows na podstawie Rejestru

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;

5 komentarzy

Zaper 2005-03-17 14:30

przecież można prościej ale z labelem

SzYbkI 2003-03-12 14:55

można jeszcze dopisac tak :
Ver_Win := Reg.ReadString('ProductName')+' '+Reg.ReadString('CurrentVersion')+' '+'Build ('+Reg.ReadString('CurrentBuildNumber')+')';

Ktos 2003-02-09 11:25

na Windows Millenium zwraca wartość "Microsoft Windows ME".

A dlaczego Canvas.TextOut - to ShowMessage to już za wiele? :)

Dryobates 2003-02-07 09:38

Chyba prościej jednak skorzystać z GetVersionEx

Marco_99 2003-02-07 00:18

Testowałem to na Windows 2000, Windows XP i Windows 98, nie wiem jak z Windows 95 i Me.