- Tham gia
- 17/8/08
- Bài viết
- 8,662
- Được thích
- 16,725
- Giới tính
- Nam
Tôi muốn biết máy đang sử dụng là WinXP hay Win7 hay Win nào đó thì dùng thủ tục hoặc hàm gì vậy các bạn?
Cám ơn rất nhiều.
Cám ơn rất nhiều.
Anh thử như sau:Tôi muốn biết máy đang sử dụng là WinXP hay Win7 hay Win nào đó thì dùng thủ tục hoặc hàm gì vậy các bạn?
Cám ơn rất nhiều.
MsgBox Application.OperatingSystem
Anh thử như sau:
Mã:MsgBox Application.OperatingSystem
Như anh đang xài Win7 thì sau khi chạy thủ tục trong Immediate:
?Application.OperatingSystem
Kết quả:
Windows (32-bit) NT 6.01
Anh cũng chả biết nó là Win nào nữa! hic hic.
Windows NT 5.0 = Windows 2000
Windows NT 5.1 = Windows XP (32-bit)
Windows NT 5.2 = Windows XP (64-bit), Windows Server 2003, Windows Home Server
Windows NT 6.0 = Windows Vista, Windows Server 2008
Windows NT 6.1 = Windows 7, Windows Server 2008 R2
Như anh đang xài Win7 thì sau khi chạy thủ tục trong Immediate:
?Application.OperatingSystem
Kết quả:
Windows (32-bit) NT 6.01
Anh cũng chả biết nó là Win nào nữa! hic hic.
Sub Check_Windows_Version()
Dim oOSInfo As OSVERSIONINFO
oOSInfo.dwOSVersionInfoSize = Len(oOSInfo) GetVersionEx oOSInfo
MsgBox "Version of Current OS is " & oOSInfo.dwMajorVersion & "." & oOSInfo.dwMinorVersion
End Sub
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Public Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
Public Function getVersion() As String
Dim osinfo As OSVERSIONINFO
Dim retvalue As Integer
osinfo.dwOSVersionInfoSize = 148
osinfo.szCSDVersion = Space$(128)
retvalue = GetVersionExA(osinfo)
Select Case osinfo.dwMajorVersion + osinfo.dwMinorVersion / 10
Case 5#
getVersion = "Windows 2000"
Case 5.1
getVersion = "Windows XP (32-bit)"
Case 5.2
getVersion = "Windows XP (64-bit), 2003 Server, Home Server"
Case 6#
getVersion = "Windows Vista, 2008 Server"
Case 6.1
getVersion = "Windows 7, 2008 Server R2"
Case Else
getVersion = "Other version"
End Select
End Function
Sub Test()
MsgBox getVersion
End Sub
A nhấn Windows+R đánh chữ : dxdiag/OK là ra 1 bảng các thông số máy tính.Tôi muốn biết máy đang sử dụng là WinXP hay Win7 hay Win nào đó thì dùng thủ tục hoặc hàm gì vậy các bạn?
Cám ơn rất nhiều.
A nhấn Windows+R đánh chữ : dxdiag/OK là ra 1 bảng các thông số máy tính.
Đâu cần code chi cho mệt!
Có khi người ta kiểm tra ở file nào đó khi chạy chứ ai mà chẳng biết xem trong đó bạn.
Đúng là các thành viên giỏi code thì mới nghiên cứu chứ tôi thì ko biết code, chỉ dùng cách trên vừa đơn giản, dễ dùng dễ biết các driver cần update.Có khi người ta kiểm tra ở file nào đó khi chạy chứ ai mà chẳng biết xem trong đó bạn.
Đúng là các thành viên giỏi code thì mới nghiên cứu chứ tôi thì ko biết code, chỉ dùng cách trên vừa đơn giản, dễ dùng dễ biết các driver cần update.
Tôi đã nói là tôi hoàn toàn mù tịt, chưa biết 1 khái niệm gì về code nên KHÔNG THỂ BIẾT LÀM SAO!Tôi ví dụ bạn muốn gọi hay lưu 1 file ở desktop nào đó = code, để cho nó chạy được với các phiên bản của win thì bạn phải làm sao?
Nếu vậy thì tranh cãi để làm gì hả bạn. Người ta dùng code thì để người ta dùng, mỗi người đều có mục đích riêng của họ mà.Tôi đã nói là tôi hoàn toàn mù tịt, chưa biết 1 khái niệm gì về code nên KHÔNG THỂ BIẾT LÀM SAO!
Ngắn gọn thế này cũng được vậy:Thật ra nó phải như sau:
Mã:Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Public Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer Public Function getVersion() As String Dim osinfo As OSVERSIONINFO Dim retvalue As Integer osinfo.dwOSVersionInfoSize = 148 osinfo.szCSDVersion = Space$(128) retvalue = GetVersionExA(osinfo) Select Case osinfo.dwMajorVersion + osinfo.dwMinorVersion / 10 Case 5# getVersion = "Windows 2000" Case 5.1 getVersion = "Windows XP (32-bit)" Case 5.2 getVersion = "Windows XP (64-bit), 2003 Server, Home Server" Case 6# getVersion = "Windows Vista, 2008 Server" Case 6.1 getVersion = "Windows 7, 2008 Server R2" Case Else getVersion = "Other version" End Select End Function
Test đoạn này
Mã:Sub Test() MsgBox getVersion End Sub
Sub GetOSName()
Dim Item
On Error Resume Next
With GetObject("Winmgmts:")
For Each Item In .ExecQuery("SELECT * FROM Win32_OperatingSystem")
MsgBox Item.Caption
Next
End With
End Sub