8

这个问题,我如何从 VB 6 应用程序中确定 Windows 版本, Cody Gray 提供了一个非常有用的答案,它利用 GetVersionEx 和 Select Case 语句将 Windows 版本作为用户友好的字符串返回。

然而,给出的代码是有限的,因为所有的返回值都是硬编码的,这意味着它不是未来的证明,每次新版本的 Windows 出现时都需要重写,例如 Windows 8。

除了使用 GetVersionEx 和 Select Case 语句之外,是否还有其他选择来检索用户友好的操作系统名称,这也将是相对未来的证明?

4

1 回答 1

7

WMI 类可用于提取所需数据,如下所示:

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
于 2013-02-18T10:46:26.507 回答