Einzelnen Beitrag anzeigen

Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#1

Server Erkennung mittels GetVersionEx()

  Alt 15. Aug 2008, 08:04
Hallo zusammen,

ich habe ein Tool welches nur auf Serverbetriebssystemen funktionieren soll.

Delphi-Quellcode:
function IsServerOS: Boolean;
var osvi : TOSVersionInfo;
begin
Result:=False;
ZeroMemory(@osvi,sizeof(TOSVersionInfo));
osvi.dwOSVersionInfoSize := sizeof(TOSVersionInfo);
// GetVersionEx() mit der Struktur von TOSVersionInfo aufrufen
if(not GetVersionEx(osvi)) then
 begin
 // GetVersionEx() mit der Struktur von VERSIONINFOSIZE aufrufen
 osvi.dwOSVersionInfoSize := VERSIONINFOSIZE;
 if(not GetVersionEx(osvi)) then
  // Exception auslösen
  raise E_OS_Read.Create();
 end;
Result:=(osvi.wProductType=VER_NT_SERVER)or
        (osvi.wProductType = VER_NT_DOMAIN_CONTROLLER);
end;
Kann ich mit dieser Function immer eindeutig erkennen, ob es sich um ein Serverbetriebssystem handelt? Auch wenn neuere MS Serverbetriebssysteme kommen? Wäre schlecht, wenn das Tool plötzlich nicht mehr funktioniert...

thx
baeuerle
  Mit Zitat antworten Zitat