请教各位,如何在VB中获得当前系统的版本?

qtyeee 2006-02-23 03:39:26
如题!如何用很简单的方法获得当前系统的版本信息!越简单越好!麻烦各位,先谢了!
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qtyeee 2006-02-24
  • 打赏
  • 举报
回复
谢谢各位!
chenhui530 2006-02-23
  • 打赏
  • 举报
回复
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long

Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
osName As String
End Type

Public Function GetVersionName() As String '判断操作系统类型
Dim OSInfo As OSVERSIONINFO
Dim ret As Long
OSInfo.dwOSVersionInfoSize = 148 'Len(OSInfo)
'获得系统的版本号
ret = GetVersionEx(OSInfo)

If ret = 0 Then MsgBox "在试图获得系统版本号时发生了一个未知错误", , "提示": Exit Function
'Print "系统版本:" + Str$(OSInfo.dwMajorVersion) + "." + LTrim(Str(OSInfo.dwMinorVersion))
With OSInfo
Select Case .dwPlatformId
Case 1
Select Case .dwMinorVersion
Case 0
.osName = "Windows 95"
Case 10
.osName = "Windows 98"
Case 90
.osName = "Windows Mellinnium"
End Select
Case 2
Select Case .dwMajorVersion
Case 3
.osName = "Windows NT 3.51"
Case 4
.osName = "Windows NT 4.0"
Case 5
If .dwMinorVersion = 0 Then
.osName = "Windows 2000"
ElseIf .dwMinorVersion = 1 Then
.osName = "Windows XP"
Else
.osName = "Windows 2003"
End If
End Select
Case Else
.osName = "Failed"
End Select
GetVersionName = .osName
End With


End Function


Snoworld 2006-02-23
  • 打赏
  • 举报
回复
同意楼上
lv1 2006-02-23
  • 打赏
  • 举报
回复
Option Explicit


Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
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 Const VER_PLATFORM_WIN32_NT = 2
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
Private Const VER_PLATFORM_WIN32s = 0

Private Sub Command1_Click()
Dim OSVER As OSVERSIONINFO
OSVER.dwOSVersionInfoSize = Len(OSVER)
GetVersionEx OSVER
MsgBox GETVER(OSVER)
End Sub
Private Function GETVER(VER As OSVERSIONINFO) As String
Dim VI&, VE$
With VER
GETVER = "版本: " & .dwMajorVersion & "." & .dwMinorVersion
VI = (.dwBuildNumber And &HFF)
GETVER = GETVER & vbCrLf & "BUILDNUMBER: " & VI
Select Case .dwPlatformId
Case VER_PLATFORM_WIN32_NT
VE = "平台: WINDOWS NT"
Case VER_PLATFORM_WIN32s
VE = "平台: WINDOWS 3.2"
Case VER_PLATFORM_WIN32_WINDOWS
If .dwMinorVersion = 0 Then VE = "平台: WINDOWS95" Else VE = "平台: WINDOWS98"
Case Else
VE = "PLATFORM: UNKNOW"
End Select
GETVER = GETVER & vbCrLf & VE
If VE = "平台: WINDOWS NT" Then GETVER = GETVER & vbCrLf & "SERVICE PACK" & .szCSDVersion Else GETVER = GETVER & vbCrLf & "其他:" & Trim(.szCSDVersion)
End With
End Function
lc_mtt 2006-02-23
  • 打赏
  • 举报
回复
先说说需要系统的什么版本信息
yinweihong 2006-02-23
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/q147886/

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧