微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Windows RegKey – 默认浏览器应用程序path

什么RegKey可以从认的浏览器应用程序的path?

从C#/ .NET获得它的最佳方式?

如何在订阅DWM组合/ Aero Glass禁用时引发的操作系统级事件?

function键的标准操作列表

微软打破了.NET兼容性?

SlimDX:Joystick.Poll()成功断开游戏手柄

通过应用程序解锁一个Win7桌面

这是你想要的钥匙:

HKEY_LOCAL_MACHINE SOFTWARE Classes下 HTTP 壳开放命令

如果你需要的话,这里有一个C#的快速注册表教程 。

编辑

对于每个用户的设置,使用这个键:

HKEY_CLASSES_ROOT HTTP 壳开放命令

(HKCR有机器和用户设置,用户优先)。

请注意,这可能不适用于Vista 。 欲了解更多信息, 请看这里 。

为Windows 7认浏览器路径保存在以下注册表项中

HKEY_CURRENT_USERSoftwareMicrosoftwindowsShell AssociationsUrlAssociationshttp

通过使用C#你可以得到它如下 –

RegistryKey regkey = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\shell\Associations\UrlAssociations\http\UserChoice",false); string browser = regkey.GetValue("Progid").ToString();

基于你的回答,我写了这个示例代码,应该做你想要的(没有测试)

public static string GetDefaultbrowserPath() { string defaultbrowserPath = null; RegistryKey regkey; // Check if we are on Vista or Higher OperatingSystem OS = Environment.O@R_502_6446@rsion; if ((OS.Platform == PlatformID.Win32NT) && (OS.Version.Major >= 6)) { regkey = Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\shell\Associations\UrlAssociations\http\UserChoice",false); if (regkey != null) { defaultbrowserPath = regkey.GetValue("Progid").ToString(); } else { regkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Classes\IE.HTTP\shell\open\command",false); defaultbrowserPath = regkey.GetValue("").ToString(); } } else { regkey = Registry.ClassesRoot.OpenSubKey("http\shell\open\command",false); defaultbrowserPath = regkey.GetValue("").ToString(); } return defaultbrowserPath; }

我只是为此做了一个功能

public void launchbrowser(string url) { string browserName = "iexplore.exe"; using (RegistryKey userChoiceKey = Registry.CurrentUser.OpenSubKey(@"SoftwareMicrosoftwindowsShellAssociationsUrlAssociationshttpUserChoice")) { if (userChoiceKey != null) { object progIdValue = userChoiceKey.GetValue("Progid"); if (progIdValue != null) { if(progIdValue.ToString().ToLower().Contains("chrome")) browserName = "chrome.exe"; else if(progIdValue.ToString().ToLower().Contains("firefox")) browserName = "firefox.exe"; else if (progIdValue.ToString().ToLower().Contains("safari")) browserName = "safari.exe"; else if (progIdValue.ToString().ToLower().Contains("opera")) browserName = "opera.exe"; } } } Process.Start(new processstartinfo(browserName,url)); }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐