nome do sistema operacional

Delphi

26/07/2004

Como faço para conseguir identificar o XP como sistema operacional nas estações ?
Seguindo algumas dicas do forum, sempre mostra como se fosse windows 2000.
É possível ?


Guilherme B

Guilherme B

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

26/07/2004

Var
Diretorio,Nome : String;
Registro : TRegistry;
Xp : Boolean;
Diretorio := ExtractFilePath(Application.ExeName); 
Nome := ExtractFileName(Application.ExeName); 
Registro := TRegistry.Create; 
Registro.RootKey := HKEY_LOCAL_MACHINE; 
Registro.OpenKey(´SOFTWARE\Microsoft\Windows\CurrentVersion´,False);{"False" pq todas as versões do Win possuem essa chave} 
If Not Registro.ValueExists(´Version´)Then 
Begin
  Xp := True;
  Disco := Registro.ReadString(´ProgramFilesDir´);{ NT/2000/XP} 
End
  Else 
Begin
  Xp := False;
Disco := Registro.ReadString(´SystemRoot´);{ Win9X/ME} 
End;
... 
Registro.CloseKey;



GOSTEI 0
Guilherme B

Guilherme B

26/07/2004

OK !

Mas eu preciso diferenciar as estações 2000 das XP das NT.
É possível ?

sds


GOSTEI 0
Rômulo Barros

Rômulo Barros

26/07/2004

Tem uma chave no registro do windows q armazena a versão do sistema operacional, mas não me lembro no momento. Irei pesquisar, em casa, e enviarei a resposta. :lol:


GOSTEI 0
Persist

Persist

26/07/2004

A api GetVersionEx retorna em OsVersionInfo, dwMajorVersion e dwMinorVersion respectivamente:
5 2 - 2003 Server
5 1 - XP
5 0 - 2000
4 0 - NT 4.0
4 90 - Me
4 10 - 98
4 0 - 95
3 51 - NT 3.51


GOSTEI 0
Guilherme B

Guilherme B

26/07/2004

Olá

Você poderia me passar a sintaxe do comando ?
Procurei nas documentações que possuo e não encontrei nada.

Grato


GOSTEI 0
POSTAR