GetVersionEx API~
GetVersionEx(
var lpVersionInformation: TOSVersionInfo //结构体
): BOOL;
//结构 TOSVersionInfo 是 _OSVERSIONINFOA 的别名
_OSVERSIONINFOA = record
dwOSVersionInfoSize: DWORD; {结构大小}
dwMajorVersion: DWORD; {主版本号}
dwMinorVersion: DWORD; {次版本号}
dwBuildNumber: DWORD; {建立编号}
dwPlatformId: DWORD; {作业平台}
szCSDVersion: array[0..127] of AnsiChar; {其他说明信息}
版本号的话只要拿到主版本号和次版本号就可以了,WinNT版本号是4.0/4.1、Win2000是5.0、xp是5.1、Vista是6.0
至于具体的调用方式……VB的API调用不是一点半点的麻烦~相信你也知道。
用到的结构体和函数声明用VB6安装目录下的API浏览器都可以直接找到,如果你需要代码,请补充问题~
===================
我还是补充个声明吧
Type OsVersionInfo
dwVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatform As Long
szCSDVersion As String * 128
End Type
Private Declare Function GetVersionEx& Lib "kernel32" Alias "GetVersionExA" (lpStruct As OsVersionInfo)
然后调用
Sub GetOSVersion32()
OsVers.dwVersionInfoSize = 148&
tmplng = GetVersionEx(OsVers)
End Sub
大部分计算机上sizeof(Long)=4,所以VersionInfo结构的Size是128+5*4=148bytes。
就这样吧。代码我没测试过,手头没有VB环境……
API本身很复杂,3级的人多少应该懂得给点悬赏分了
给你个提示,你自己去网上查找cbm666他的一些代码里可能有你想要的答案