如何确定用户的PC运行的是Windows 10还是Windows 11的Excel功能?

ugmeyewa  于 2023-05-30  发布在  Windows
关注(0)|答案(3)|浏览(184)

我有一个Excel工作簿,其他几个用户使用。我发现一些功能在不同的Windows操作系统上的工作方式不同。我的工作簿需要对不同的窗口做出React。
在过去
B = oWsh.RegRead(“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName”)"^
会告诉我版本,即“Windows 10企业版”。事实上,这有点奇怪,因为当我在注册表中查看时,它说“Windows 10 Pro”......“企业”从何而来?
不管怎么说,当我在Win 11上运行相同的命令时,它仍然显示“Windows 10 Pro”。
我如何知道其他人的PC上的操作系统是Win 10还是Win 11?
如细节中所述。

vof42yt1

vof42yt11#

你可以通过使用WMI找到很多东西。这是相当神秘的,在VBA中做并没有使它少。

Function IsWindows11() As Boolean
    Dim WMIService As Object
    Dim OsInfo As Object
    Dim Entry As Object
    Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set OsInfo = WMIService.ExecQuery("Select * from Win32_OperatingSystem")
    For Each Entry In OsInfo
        If InStr(Entry.Name, "Microsoft Windows 11") > 0 Then
            IsWindows11 = True
            Exit Function
        End If
    Next
    IsWindows11 = False
End Function

如果你想了解为什么这样做,请阅读WMI。您可以在PowerShell中使用以下命令执行类似的操作

Get-ComputerInfo  | select OsName

然后你就得打电话去接电话了

2vuwiymt

2vuwiymt2#

调试.打印应用程序.操作系统
(but就像@Sam说的那样,它不起作用。我检查了它今天29-05-23在工作与Win 11和结果是新台币10)

uujelgoq

uujelgoq3#

完美的西达斯如何将问题标记为已解决。

相关问题