这个问题,How can I determine the Windows version from a VB 6 app,来自Cody Gray的一个非常有用的答案,它使用GetVersionEx和Select Case语句将Windows版本作为用户友好字符串返回.
但是,给出的代码是有限的,因为所有返回值都是硬编码的,这意味着它不是未来的证据,并且每次新版本的Windows出现时都需要重写,例如Windows 8.
除了使用GetVersionEx和Select Case语句之外,还有其他选项可以检索用户友好的操作系统名称,这也是相对未来的证据吗?
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