取得Computer Name, OS的版本Private Type 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 TypePrivate 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 LongPrivate Sub Command1_Click()
Dim len5 As Long, aa As Long
Dim cmprName As String
Dim osver As OSVERSIONINFO'取得Computer Name
cmprName = String(255, 0)
len5 = 256
aa = GetComputerName(cmprName, len5)
cmprName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1)
Debug.Print "Computer Name = "; cmprName'取得OS的版本
osver.dwOSVersionInfoSize = Len(osver)
aa = GetVersionEx(osver)
Debug.Print "MajorVersion "; osver.dwMajorVersion
Debug.Print "MinorVersion "; osver.dwMinorVersion
Select Case osver.dwPlatformId
Case 0
   Debug.Print "Window 3.1"
Case 1
   Debug.Print "Win95"
Case 2
   Debug.Print "WinNT"
End Select
End Sub

解决方案 »

  1.   

    Option Explicit'Reference: Microsoft WMI Scripting V1.X LibraryPrivate Sub GetProcessorID()
      Dim a As SWbemServices
      Dim b As SWbemObjectSet
      Dim c As SWbemObject
      Dim d As SWbemPropertySet
      Dim e As SWbemProperty
       
      Set a = GetObject("winmgmts:")
      Set b = a.InstancesOf("Win32_Processor")
      For Each c In b
         With c
           If .Properties_.Count > 0 Then
             Set d = .Properties_
             
             For Each e In d
                Text1 = Text1 & e.Name & ":  " & e.Value & vbCrLf
             Next
           End If
         End With
      Next 
    End SubPrivate Sub Form_Load()
      GetProcessorID
    End Sub
      

  2.   

    http://www.csdn.net/Expert/TopicView1.asp?id=928731
      

  3.   

    '取得CPU序列号Private Type 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
    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 Const VER_PLATFORM_WIN32_NT = 2
    Private Const VER_PLATFORM_WIN32_WINDOWS = 1
    Private Const VER_PLATFORM_WIN32s = 0
    Private Sub Command1_Click()
        Dim len5 As Long, aa As Long
        Dim cmprName As String
        Dim osver As OSVERSIONINFO
        '取得Computer Name
        cmprName = String(255, 0)
        len5 = 256
        aa = GetComputerName(cmprName, len5)
        cmprName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1)
        Computer = cmprName        '取得CPU端口号
        Set CPUs = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * from Win32_Processor")
        For Each mycpu In CPUs
          Text1.Text = mycpu.ProcessorId
        Next
    End Sub
      

  4.   

    "Set CPUs = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * from Win32_Processor")"
    这句执行错误