在代码中查找 Webview2 WPF 控件的 Edge 版本

问题描述 投票:0回答:2

我正在尝试使用以下 C# 代码查找 Microsoft Edge 版本。

RegistryKey reg = Registry.ClassesRoot.OpenSubKey(@"Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages");
        

if(reg != null)
{
    foreach(string subkey in reg.GetSubKeyNames())
    {
        if(subkey.StartsWith("Microsoft.MicrosoftEdge"))
        {
            Match rxEdgeVersion = null;
            rxEdgeVersion = Regex.Match(subkey, @"(Microsoft.MicrosoftEdge_)(?<version>\d+\.\d+\.\d+\.\d+)(_neutral__8wekyb3d8bbwe)");
                       
            if (rxEdgeVersion.Success)
                return EdgeVersion = rxEdgeVersion.Groups["version"].Value;
            }
        }
    }
}

此函数返回版本 44.18362.449.0。 但是当我直接检查 Edge 浏览器 => 设置 => 帮助 (edge://settings/help) 版本是版本 84.0.522.40

这两个版本模式不匹配,而且我也没有并行安装不同的边缘版本。

请帮我关联来自浏览器 UI 和 C# 的两个版本。

c# .net wpf webview microsoft-edge
2个回答
2
投票

如果您想使用 C# 代码检查 MS Edge Chromium 浏览器版本,那么我建议尝试在注册表中的以下位置检查它。

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{2CD8A007-E189-409D-A2C8-9AF4EF3C72AA}

如果检查 PV 键的值,您会发现它显示的是 Edge Chromium 浏览器的版本。

如果您有其他版本,例如 Canary、beta、dev 或 stable,那么您可以尝试检查 Clients 文件夹中的其他文件夹,可能有助于获取已安装的 Edge Chromium 浏览器的版本。


1
投票

看看

C:\Program Files (x86)\Microsoft\Edge\Application
,您可能会找到新的 Chromium Edge,其正确的版本号嵌入在文件
msedge.exe
以及文件夹名称中。

但是为什么不检查浏览器的 userAgent 字符串呢?他们包含版本号!

© www.soinside.com 2019 - 2024. All rights reserved.