如何识别当前的Windows是Windows NT内核还是Windows9.x?(50分)

  • 主题发起人 主题发起人 SS2000
  • 开始时间 开始时间
S

SS2000

Unregistered / Unconfirmed
GUEST, unregistred user!
如何识别当前的Windows是Windows NT内核还是Windows9.x?
 
查以前的贴子吧, 我上次贴过一个非常详尽的过程,可以识别全部的Windows平台。
如果只是要识别NT还是9x的话可以用SysUtils单元中的下面这个变量:
Win32Platform
有下面三个值:
VER_PLATFORM_WIN32s
VER_PLATFORM_WIN32_WINDOWS
VER_PLATFORM_WIN32_NT
 
一个简单的办法,察看系统目录下存不存在ntdll.dll文件,不过不保险。
还是应该查注册表.
 
dwVersion := GetVersion;
if (dwVersion < $80000000) then //Win2K
Begin
Label3.Caption := Label3.Caption +' ver Win2000';
Label4.Caption := Label4.Caption +' ver Win2000';
End
Else //win98
Begin
Label3.Caption := Label3.Caption +' ver Win98';
Label4.Caption := Label4.Caption +' ver Win98';
Label7.Caption := '';
End;
 
同意xianjun
 
if (getversion()<$80000000) then
showmessage('NT')
else
showmessage('9x');
 
同意xianjun, lb_icesea79 [8D]
 
getversion有毛病吗?
 
没有问题,其实是DELPHI已经帮你做过这个工作了而己,你直接用就是了。
 
if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then win98;
if Win32Platform = VER_PLATFORM_WIN32_NT then winnt;
 
后退
顶部