我正在尝试使用以下 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# 代码检查 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 浏览器的版本。
看看
C:\Program Files (x86)\Microsoft\Edge\Application
,您可能会找到新的 Chromium Edge,其正确的版本号嵌入在文件 msedge.exe
以及文件夹名称中。
但是为什么不检查浏览器的 userAgent 字符串呢?他们包含版本号!