0

我在 Windows 注册表中创建了一个自定义 url 处理程序,以便任何以 wxyz:// 开头的链接启动一个应用程序..

在 shell/open/command 下,我发现我可以用 url 替换应用程序 exe 路径 - 这样如果(默认)设置为“iexplore http://mydomain.com?url=%1 ”和链接 wxyz:/ /thequickbrowsnfox 被点击,用户浏览器将转到http://mydomain.com?url=wxyz://thequickbrowsnfox

考虑到,internet explorer 可能不是用户的选择,我怎样才能使用用户的默认浏览器打开页面..

4

1 回答 1

0

我只是在搜索相同的问题,并从Windows RegKey - Default Browser Application Path中得到了答案。但是我注意到自 Vista 以来获取默认浏览器的注册表路径发生了变化:您的浏览器如何知道它不是默认值

根据注册表值,您只能获得 (browser) Progid。要获取 .exe 路径,您需要从Get dll directory from ProgID"HKCR\\<Progid>\\shell\\open\\command"的答案中获取。

我担心的是,如果用户在设置 url 处理程序后更改了默认浏览器怎么办?您的 url 处理程序不再指向当前的默认浏览器。恐怕您需要创建一个应用程序来接受 url 处理程序(而不是浏览器本身)并在启动浏览器之前在注册表中找到当前的默认浏览器。

于 2013-04-15T02:40:04.280 回答