怎样获得当前用的是什么操作系统?

xianghai 2003-11-07 02:25:22
请各位高手帮帮我,怎样获得当前用的是什么操作系统?谢谢
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kimurakenshin 2003-11-07
  • 打赏
  • 举报
回复
学习中……
thank you
goodname008 2003-11-07
  • 打赏
  • 举报
回复
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
osName As String ' 我自己加的, 操作系统的名称
End Type

Private Sub Command1_Click()
Dim v As OSVERSIONINFO
v = GetWindowsVersion()
MsgBox v.osName
End Sub

' 获得 Windows 操作系统的版本
' OSVERSIONINFO 结构中的 osName 返回操作系统的名称
Private 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
If .dwMinorVersion = 0 Then
.osName = "Windows 2000"
Else
.osName = "Windows XP"
End If
End Select
Case Else
.osName = "Failed"
End Select
End With
GetWindowsVersion = ver
End Function

先在窗体中加一个Command,然后把上面的代码拷贝到窗体模块中,单击按钮就会出现对话框显示操作系统的名称。

射天狼 2003-11-07
  • 打赏
  • 举报
回复
Option Explicit

Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

Private Sub Command1_Click()
Dim LocaleID As Long
LocaleID = GetSystemDefaultLCID
Select Case LocaleID
Case &H404
MsgBox "中文繁体"
Case &H804
MsgBox "中文简体"
Case &H409
MsgBox "english"
Case Else
MsgBox "其它返回值,可查找msdn"
End Select
End Sub
felix 2003-11-07
  • 打赏
  • 举报
回复
'模块代码
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
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 = 2
'窗体代码
Private 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 & "Platform = Windows 95" & nl
If myVer.dwPlatformId = VER_PLATFORM_WIN32_NT Then lblWininfo = lblWininfo & "Platform = Windows NT" & nl
lblWininfo = lblWininfo & "Version = " & myVer.dwMajorVersion & "." & myVer.dwMinorVersion & " Build " & (myVer.dwBuildNumber And &HFFFF&) & nl
lblMoreWininfo = "Windows is running in "
If GetSystemMetrics(SM_CLEANBOOT) = 0 Then lblMoreWininfo = lblMoreWininfo & "normal mode." & nl
If GetSystemMetrics(SM_CLEANBOOT) = 1 Then lblMoreWininfo = lblMoreWininfo & "safe mode." & nl
If GetSystemMetrics(SM_CLEANBOOT) = 2 Then lblMoreWininfo = lblMoreWininfo & "safe mode with network." & nl
If GetSystemMetrics(SM_DEBUG) = True Then lblMoreWininfo = lblMoreWininfo & "Windows Debugging Mode in operation" & nl
If GetSystemMetrics(SM_SLOWMACHINE) = True Then lblMoreWininfo = lblMoreWininfo & "This machine is too slow to run Windows effectively." & nl
End Sub

7,789

社区成员

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

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