请问有没有简单的方法可以知道当前系统是win98还是win2k、xp、2003?
解决方案 »
- 删除最左边和最右边的字符.
- 新手学vb的问题!!!
- 关于函数参数中byval的问题
- RowCount属性怎么用
- 请问一下哪里能下载到sp5补丁包?
- 新手上路,请帮助
- 请教ListView怎样改变每一列宽度?
- 吴文智,你在吗,能和你聊聊吗,我的QQ是16110792,E-mail 是[email protected]
- CSDN到底有没有高手?
- 如何4舍5入?特别是整数的时候?
- datagrid 右键选择属性出现property pages里面的columns只有 0和1怎么只有2个,我想多加几个(其实我就是想控制datagrid所显示的列和列的名
- (顶有分)推荐一个很不错的VB论坛,里面有很多源码与原创的方法!
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Sub Form_Load()
Dim OSInfo As OSVERSIONINFO, PId As String
'KPD-Team 1998
'URL: http://www.allapi.net/
'[email protected]
'Set the graphical mode to persistent
Me.AutoRedraw = True
'Set the structure size
OSInfo.dwOSVersionInfoSize = Len(OSInfo)
'Get the Windows version
Ret& = GetVersionEx(OSInfo)
'Chack for errors
If Ret& = 0 Then MsgBox "Error Getting Version Information": Exit Sub
'Print the information to the form
Select Case OSInfo.dwPlatformId
Case 0
PId = "Windows 32s "
Case 1
PId = "Windows 95/98"
Case 2
PId = "Windows NT "
End Select
Print "OS: " + PId
Print "Win version:" + Str$(OSInfo.dwMajorVersion) + "." + LTrim(Str(OSInfo.dwMinorVersion))
Print "Build: " + Str(OSInfo.dwBuildNumber)
End Sub
太绝对了吧?环境变量不建议这样用!
下面这个可以给你回答了,在窗体上放一个ListBox,代码如下:Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As LongPrivate 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 TypePrivate Function GetWindowsVersion() As OSVERSIONINFO
Dim ver As OSVERSIONINFO
ver.dwOSVersionInfoSize = 148
GetVersionEx ver
With ver
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
Select Case .dwMinorVersion
Case 0
.osName = "Windows 2000"
Case 1
.osName = "Windows XP"
Case 2
.osName = "Windows Server 2003"
End Select
End Select
Case Else
.osName = "获取系统版本失败"
End Select
End With
GetWindowsVersion = ver
End FunctionPrivate Sub Form_Load()
List1.Clear
Dim ver As OSVERSIONINFO
ver = GetWindowsVersion()
With ver
List1.AddItem .osName
List1.AddItem .dwMajorVersion
List1.AddItem .dwMinorVersion
List1.AddItem .dwBuildNumber
List1.AddItem .dwPlatformId
List1.AddItem .szCSDVersion
End With
End Sub
Environ(10)?
太绝对了吧?环境变量不建议这样用!
===========================================
这样呢? Debug.Print Environ("OS")
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
osName As String
End TypePrivate Function GetWindowsVersion() As OSVERSIONINFO
Dim ver As OSVERSIONINFO
ver.dwOSVersionInfoSize = 148
GetVersionEx ver
With ver
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
Select Case .dwMinorVersion
Case 0
.osName = "Windows 2000"
Case 1
.osName = "Windows XP"
Case 2
.osName = "Windows Server 2003"
End Select
End Select
Case Else
.osName = "获取系统版本失败"
End Select
End With
GetWindowsVersion = ver
End FunctionPrivate Sub Form_Load()
List1.Clear
Dim ver As OSVERSIONINFO
ver = GetWindowsVersion()
With ver
List1.AddItem .osName
List1.AddItem .dwMajorVersion
List1.AddItem .dwMinorVersion
List1.AddItem .dwBuildNumber
List1.AddItem .dwPlatformId
List1.AddItem .szCSDVersion
End With
End Sub
这个很对哦
Debug.Print Environ("OS") -> Windows_NT并不返回具体的系统类型