使用API中的GETVERSIONEX 代码如下:Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Private Declare Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As LongPrivate Sub Form_Load() Dim os As OSVERSIONINFO Dim retval As Long os.dwOSVersionInfoSize = Len(os) retval = GetVersionEx(os) MsgBox "Windows version number:" & os.dwMajorVersion & Chr(Asc(".")) & os.dwMinorVersion MsgBox "OS Version Info Size = " & os.dwOSVersionInfoSize MsgBox "BuildNumber = " & os.dwBuildNumber MsgBox "Platform ID = " & os.dwPlatformId 'ID =0 win 3.x , ID=1 win9x and ID =2 WINNT MsgBox "CSD Version = " & os.szCSDVersion EndEnd Sub 你要的判断的在"CSD Version"下的wProductTypeVER_NT_WORKSTATION The system is running Windows NT 4.0 Workstation, Windows 2000 Professional, Windows XP Home Edition, or Windows XP Professional. VER_NT_DOMAIN_CONTROLLER The system is a domain controller. VER_NT_SERVER The system is a server. 详细的资料请查询:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/osversioninfo_str.asp
代码如下:Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Declare Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As LongPrivate Sub Form_Load()
Dim os As OSVERSIONINFO
Dim retval As Long
os.dwOSVersionInfoSize = Len(os)
retval = GetVersionEx(os)
MsgBox "Windows version number:" & os.dwMajorVersion & Chr(Asc(".")) & os.dwMinorVersion
MsgBox "OS Version Info Size = " & os.dwOSVersionInfoSize
MsgBox "BuildNumber = " & os.dwBuildNumber
MsgBox "Platform ID = " & os.dwPlatformId 'ID =0 win 3.x , ID=1 win9x and ID =2 WINNT
MsgBox "CSD Version = " & os.szCSDVersion
EndEnd Sub
你要的判断的在"CSD Version"下的wProductTypeVER_NT_WORKSTATION The system is running Windows NT 4.0 Workstation, Windows 2000 Professional, Windows XP Home Edition, or Windows XP Professional. VER_NT_DOMAIN_CONTROLLER The system is a domain controller. VER_NT_SERVER The system is a server. 详细的资料请查询:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/osversioninfo_str.asp
就是你的机器必须要打了Serives Pack补丁后,"CSD Version"才能返回值,否则返回空值.注意注意.