' 撰寫人:Devil(璉璉) E-Mail: qvb3377@ms5.hinet.net 僅供學術測試使用,引用請註明原出處 ' -------------------------------------------------------------------------------------- Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwReleaseVersion As Integer dwBuildNumber As Integer dwPlatformId As Long szCSDVersion As String * 128 ' Maintenance string for PSS usage End Type Public OSPlatform As Long Public OSMajorVersion As Long Public OSMinorVersion As Long Public OSReleaseVersion As Long Public OSBuildNumber As Long Public OSDescriptionVersion As String Public OSVersion As String Public ComputerName As String Public UserName As String Private Const BufferString = 255 Private Sub Class_Initialize() Dim OsVer As OSVERSIONINFO Dim cmprName As String cmprName = String(BufferString, 0) summy = GetComputerName(cmprName, BufferString) ComputerName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1) cmprName = String(BufferString, 0) summy = GetUserName(cmprName, BufferString) UserName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1) OsVer.dwOSVersionInfoSize = Len(OsVer) summy = GetVersionEx(OsVer) With OsVer OSPlatform = .dwPlatformId OSMajorVersion = .dwMajorVersion OSMinorVersion = .dwMinorVersion OSReleaseVersion = .dwReleaseVersion OSBuildNumber = .dwBuildNumber OSDescriptionVersion = Trim(Left(.szCSDVersion, InStr(.szCSDVersion, Chr(0)) - 1)) Select Case .dwPlatformId Case 0 OSVersion = "Windows 3.1" Case 1 Select Case .dwMinorVersion Case Is = 0 OSVersion = "Windows 95" Case Is = 10 Select Case .dwReleaseVersion Case Is = 2222 OSVersion = "Windows 98 SE" Case Else OSVersion = "Windows 98" End Select Case Is = 90 OSVersion = "Windows Me" Case Else OSVersion = "Windows 95 相容" End Select Case 2 OSVersion = "Windows NT" Case Else OSVersion = "未知的作業系統" End Select End With End Sub