⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsosinfo.cls

📁 AD9954源码
💻 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 + -