如题

解决方案 »

  1.   

    Option ExplicitType OSVERSIONINFO
            dwOSVersionInfoSize As Long
            dwMajorVersion As Long
            dwMinorVersion As Long
            dwBuildNumber As Long
            dwPlatformId As Long
            szCSDVersion As String * 128      '  Maintenance string for PSS usage
    End Type
    Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
    Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
    Public Const SM_CLEANBOOT = 67
    Public Const SM_DEBUG = 22
    Public Const SM_SLOWMACHINE = 73
    Public Const VER_PLATFORM_WIN32s = 0
    Public Const VER_PLATFORM_WIN32_WINDOWS = 1
    Public Const VER_PLATFORM_WIN32_NT = 2Option ExplicitPrivate Sub Command1_Click()
    Dim myVer As OSVERSIONINFO
    Dim nl As String
    Dim q As Long
    nl = Chr(10) & Chr(13)
    myVer.dwOSVersionInfoSize = 148
    q& = GetVersionEx(myVer)
    lblWininfo = ""
    lblMoreWininfo = ""
    If myVer.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then lblWininfo = lblWininfo & "运行平台 = Windows 95/98" & nl
    If myVer.dwPlatformId = VER_PLATFORM_WIN32_NT Then lblWininfo = lblWininfo & "Platform = Windows NT" & nl
    lblWininfo = lblWininfo & "Version = " & myVer.dwMajorVersion & "." & myVer.dwMinorVersion & " 创建于 " & (myVer.dwBuildNumber And &HFFFF&) & nl
    lblMoreWininfo = "Windows 现在运行在"
    If GetSystemMetrics(SM_CLEANBOOT) = 0 Then lblMoreWininfo = lblMoreWininfo & "正常模式" & nl
    If GetSystemMetrics(SM_CLEANBOOT) = 1 Then lblMoreWininfo = lblMoreWininfo & "安全模式" & nl
    If GetSystemMetrics(SM_CLEANBOOT) = 2 Then lblMoreWininfo = lblMoreWininfo & "局域网安全模式" & nl
    If GetSystemMetrics(SM_DEBUG) = True Then lblMoreWininfo = lblMoreWininfo & "Windows Debugging Mode in operation" & nl
    If GetSystemMetrics(SM_SLOWMACHINE) = True Then lblMoreWininfo = lblMoreWininfo & "这台PC配置太低无法高效运行 Windows." & nl
    End Sub