什么RegKey可以从默认的浏览器应用程序的path?
从C#/ .NET获得它的最佳方式?
如何在订阅DWM组合/ Aero Glass禁用时引发的操作系统级事件?
function键的标准操作列表
微软打破了.NET兼容性?
SlimDX:Joystick.Poll()成功断开游戏手柄
通过应用程序解锁一个Win7桌面
这是你想要的钥匙:
HKEY_LOCAL_MACHINE SOFTWARE Classes下 HTTP 壳开放命令
编辑 :
对于每个用户的设置,使用这个键:
HKEY_CLASSES_ROOT HTTP 壳开放命令
请注意,这可能不适用于Vista 。 欲了解更多信息, 请看这里 。
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] 举报,一经查实,本站将立刻删除。