这个问题,How can I determine the Windows version from a VB 6 app,Cody Gray有一个非常有用的答案,它使用GetVersionEx和Select Case语句将Windows版本作为用户友好的字符串返回。
然而,给出的代码是有限的,因为所有返回值都是硬编码的,这意味着它不是未来的证明,并且每次新版本的Windows出现时都需要重写,例如Windows 8。
除了使用GetVersionEx和Select Case语句之外,是否还有其他选项可以检索用户友好的操作系统名称,这也是相对未来的证据?
答案 0 :(得分:7)
WMI classes可用于提取所需数据,如下所示:
Public Function GetFriendlyOSVersion() As String
Dim query As String
query = "SELECT Caption FROM Win32_OperatingSystem"
Dim results As Object
Set results = GetObject("Winmgmts:").ExecQuery(query)
Dim info As Object
For Each info In results
GetFriendlyOSVersion = info.Caption
Next info
End Function