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