📄 clsosinfo.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "clsOsInfo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Description = "Collects and provides Operating System Version Information"
Option Explicit
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As Long
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long 'Set to 148
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128 ' Maintenance string for PSS usage
End Type
Private Const VER_PLATFORM_WIN32_NT = 2
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
Private Const VER_PLATFORM_WIN32s = 0
'Dim your own private variable
Private MyOSVer As OSVERSIONINFO
Private Sub Class_Initialize()
'Initialize the OS Version structure
MyOSVer.dwOSVersionInfoSize = 148
'Use the api call to get the os version
Call GetVersionEx(MyOSVer)
End Sub
Public Property Get Platform() As String
'Return the platform string
Select Case MyOSVer.dwPlatformId
Case VER_PLATFORM_WIN32s
Platform = "Windows For WorkGroups"
Case VER_PLATFORM_WIN32_WINDOWS
If (MyOSVer.dwMajorVersion > 4) Or ((MyOSVer.dwMajorVersion = 4) And (MyOSVer.dwMinorVersion > 0)) Then
Platform = "Windows 98"
Else
Platform = "Windows 95"
End If
Case VER_PLATFORM_WIN32_NT
If MyOSVer.dwMajorVersion <= 4 Then
Platform = "Windows NT"
ElseIf MyOSVer.dwMajorVersion = 5 Then
Platform = "Windows 2000"
Else
Platform = "Future Windows Platform"
End If
Case Else
Platform = "Unknown"
End Select
End Property
'Dummy let function
Public Property Let Platform(ByVal vNewValue As String)
End Property
Public Property Get Version() As String
Version = CStr(MyOSVer.dwMajorVersion) & "." & CStr(MyOSVer.dwMinorVersion)
End Property
'Dummy let function
Public Property Let Version(ByVal vNewValue As String)
End Property
Public Property Get BuildNumber() As String
BuildNumber = CStr(MyOSVer.dwBuildNumber)
End Property
'Dummy let function
Public Property Let BuildNumber(ByVal vNewValue As String)
End Property
Public Property Get VersionString() As String
On Error Resume Next
VersionString = Trim(Left(MyOSVer.szCSDVersion, InStr(MyOSVer.szCSDVersion, vbNullChar) - 1))
End Property
'Dummy let function
Public Property Let VersionString(ByVal vNewValue As String)
End Property
'Detects Windows XP
Public Function IsWindowsXP() As Boolean
If MyOSVer.dwMajorVersion = 5 And MyOSVer.dwMinorVersion = 1 Then
IsWindowsXP = True
Else
IsWindowsXP = False
End If
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -