用sysinfo控件应该都能得到部件中选中:Microsoft Sysinfo Control 6.0 具体看看MSDN
1. 建立一个新工程。 2. 添加一个模块到工程。 3. 添加下面的代码到Module1中: Type SYSTEM_INFO dwOemID As Long dwPageSize As Long lpMinimumApplicationAddress As Long lpMaximumApplicationAddress As Long dwActiveProcessorMask As Long dwNumberOrfProcessors As Long dwProcessorType As Long dwAllocationGranularity As Long dwReserved As Long End Type Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Type MEMORYSTATUS dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type
Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _ (LpVersionInformation As OSVERSIONINFO) As Long Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As _ MEMORYSTATUS) Declare Sub GetSystemInfo Lib "kernel32" (lpSystemInfo As _ SYSTEM_INFO)
Public Const PROCESSOR_INTEL_386 = 386 Public Const PROCESSOR_INTEL_486 = 486 Public Const PROCESSOR_INTEL_PENTIUM = 586 Public Const PROCESSOR_MIPS_R4000 = 4000 Public Const PROCESSOR_ALPHA_21064 = 21064
4. 输入下面的代码到Form1的Form_Load过程: Private Sub Form_Load() Dim msg As String ' 状态信息 Dim nl As String ' 新行 nl = Chr$(13) + Chr$(10)
Show MousePointer = 11 ' 漏斗
' 获得操作系统信息 Dim verinfo As OSVERSIONINFO verinfo.dwOSVersionInfoSize = Len(verinfo) ret% = GetVersionEx(verinfo) If ret% = 0 Then MsgBox "错误:获得版本信息" End End If Select Case verinfo.dwPlatformId Case 0 msg = msg + "Windows 32s " Case 1 msg = msg + "Windows 95 " Case 2 msg = msg + "Windows NT " End Select
具体看看MSDN
2. 添加一个模块到工程。
3. 添加下面的代码到Module1中:
Type SYSTEM_INFO
dwOemID As Long
dwPageSize As Long
lpMinimumApplicationAddress As Long
lpMaximumApplicationAddress As Long
dwActiveProcessorMask As Long
dwNumberOrfProcessors As Long
dwProcessorType As Long
dwAllocationGranularity As Long
dwReserved As Long
End Type
Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _
(LpVersionInformation As OSVERSIONINFO) As Long
Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As _
MEMORYSTATUS)
Declare Sub GetSystemInfo Lib "kernel32" (lpSystemInfo As _
SYSTEM_INFO)
Public Const PROCESSOR_INTEL_386 = 386
Public Const PROCESSOR_INTEL_486 = 486
Public Const PROCESSOR_INTEL_PENTIUM = 586
Public Const PROCESSOR_MIPS_R4000 = 4000
Public Const PROCESSOR_ALPHA_21064 = 21064
4. 输入下面的代码到Form1的Form_Load过程:
Private Sub Form_Load()
Dim msg As String ' 状态信息
Dim nl As String ' 新行
nl = Chr$(13) + Chr$(10)
Show
MousePointer = 11 ' 漏斗
' 获得操作系统信息
Dim verinfo As OSVERSIONINFO
verinfo.dwOSVersionInfoSize = Len(verinfo)
ret% = GetVersionEx(verinfo)
If ret% = 0 Then
MsgBox "错误:获得版本信息"
End
End If
Select Case verinfo.dwPlatformId
Case 0
msg = msg + "Windows 32s "
Case 1
msg = msg + "Windows 95 "
Case 2
msg = msg + "Windows NT "
End Select
ver_major$ = verinfo.dwMajorVersion
ver_minor$ = verinfo.dwMinorVersion
build$ = verinfo.dwBuildNumber
msg = msg + ver_major$ + "." + ver_minor$
msg = msg + " (Build " + build$ + ")" + nl + nl
' 获得CPU类型
Dim sysinfo As SYSTEM_INFO
GetSystemInfo sysinfo
msg = msg + "CPU: "
Select Case sysinfo.dwProcessorType
Case PROCESSOR_INTEL_386
msg = msg + "Intel 386" + nl
Case PROCESSOR_INTEL_486
msg = msg + "Intel 486" + nl
Case PROCESSOR_INTEL_PENTIUM
msg = msg + "Intel Pentium" + nl
Case PROCESSOR_MIPS_R4000
msg = msg + "MIPS R4000" + nl
Case PROCESSOR_ALPHA_21064
msg = msg + "DEC Alpha 21064" + nl
Case Else
msg = msg + "(unknown)" + nl
End Select
msg = msg + nl
' 获得剩余内存
Dim memsts As MEMORYSTATUS
Dim memory&
GlobalMemoryStatus memsts
memory& = memsts.dwTotalPhys
msg = msg + "Total Physical Memory: "
msg = msg + Format$(memory& \ 1024, "###,###,###") + "K" + nl
memory& = memsts.dwAvailPhys
msg = msg + "Available Physical Memory: "
msg = msg + Format$(memory& \ 1024, "###,###,###") + "K" + nl
memory& = memsts.dwTotalVirtual
msg = msg + "Total Virtual Memory: "
msg = msg + Format$(memory& \ 1024, "###,###,###") + "K" + nl
memory& = memsts.dwAvailVirtual
msg = msg + "Available Virtual Memory: "
msg = msg + Format$(memory& \ 1024, "###,###,###") + "K" + nl _
+ nl
' 获得剩余的系统内存
' 不适用Windows NT
MsgBox msg, 0, "About " + Caption
MousePointer = 0
End Sub