怎样判断是2000server还是2000professional,我只能判断出它们都是windows2000
解决方案 »
- 关于ClientDataset的OnNewRecord的触发问题
- 新做的dll如何增加版本信息
- 我用一个INI文件存放多个工作组的信息
- 大家来评评理!tdtjitxypm (菜) 进来领分
- 关于文件读写,很菜的问题,各位帮帮我
- 跪求矩阵求逆算法
- 在Ado+dbgrid下,大家都怎么进行修改数据和插入数据?
- 诚聘delphi开发工程师(广州工作)
- delphi里有没有ip控件?如果没有,怎样控制在edit或maskedit控件里输入合法的ip地址?
- 关于BDE中dbase版本设置问题???
- 窗口句柄的问题100
- strtotime('00:30:00')爲啥不能得到tdatetime的結果?俺收到的是'0'
var OS : TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
Result := (Os.dwPlatformId = VER_PLATFORM_WIN32s);
end;function IsWin95OSR2 : Boolean;
var OS : TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result:=(OS.dwMajorVersion >= 4) and (OS.dwMinorVersion = 0) and
(OS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS);
end;function IsWin95 : Boolean;
var
OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result:=(OS.dwMajorVersion >= 4) and (OS.dwMinorVersion = 0) and
(lo(OS.dwBuildNumber) > 1000) and (OS.dwPlatformId =
VER_PLATFORM_WIN32_WINDOWS);
end;function IsWinNT: Boolean;
var OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result:=OS.dwPlatformId=VER_PLATFORM_WIN32_NT;
end;function IsWin98se : Boolean;
var OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result:=(OS.dwMajorVersion >= 4) and (OS.dwMinorVersion > 0) and
(OS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS);
//and (lo(OS.dwBuildNumber) > 2000) removed because of Will never find SE
end;function IsWin98 : Boolean;
var OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result:=(OS.dwMajorVersion >= 4) and (OS.dwMinorVersion > 0) and
(OS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS);
end;function IsWin2000 : Boolean;
var OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result := (OS.dwMajorVersion >= 5) and (OS.dwPlatformId =
VER_PLATFORM_WIN32_NT);
end;function IsWinXP : Boolean;
var OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result := (OS.dwMajorVersion >= 5) and (OS.dwMinorVersion >= 1) and
(OS.dwPlatformId = VER_PLATFORM_WIN32_NT);
end;
function IsWinMe : Boolean;
var OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
result:=(OS.dwMajorVersion >= 4) and (OS.dwMinorVersion >= 90) and
(OS.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS);
end;
function GetNTType : String;
var r : TRegistry;
ts : String;
begin Result := '[NT Variant]'; if IsWinNT then
begin
r := TRegistry.Create;
r.RootKey := HKEY_LOCAL_MACHINE;
r.OpenKeyReadOnly('SYSTEM\CurrentControlSet\Control\ProductOptions');
ts := AnsiUpperCase(R.ReadString('ProductType'));
r.Free;
if (ts = 'WINNT') then
begin
result := 'Windows NT Workstation';
if IsWin2000 then
result := 'Windows 2000 Professional';
end
else if (ts = 'SERVERNT') then
begin
result := 'Server';
end
else if (ts = 'LANMANNT') then
begin
result := 'Windows 2000 Advanced Server';
end;
end;end;
procedure OS_INFO;
Begin
if IsWinXP = TRUE then begin
GETOS := 'Windows XP';
GETOSMajor := 'Windows NTx';
end
else
if IsWinMe = TRUE then begin
GETOS := 'Windows ME';
GETOSMajor := 'Windows 9x';
end
else
if IsWin98se = TRUE then begin
GETOS := 'Windows 98SE';
GETOSMajor := 'Windows 9x';
end
else
if IsWin98 = TRUE then begin
GETOS := 'Windows 98';
GETOSMajor := 'Windows 9x';
end
else
if IsWin95OSR2 = TRUE then begin
GETOS := 'Windows 95B';
GETOSMajor := 'Windows 9x';
end
else
if IsWin95 = TRUE then begin
GETOS := 'Windows 95A';
GETOSMajor := 'Windows 9x';
end
else
if IsWinNT = TRUE then begin
GETOSMajor := 'Windows NTx';
GETOS := GetNTType;
end;
end;