如何获得面向未来的用户友好操作系统版本?

Car*_*ger 8 windows vb6

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

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

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

Car*_*ger 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
Run Code Online (Sandbox Code Playgroud)