3

我制作了一个程序来处理 http 链接。如何将默认浏览器设置为我的 exe?我只需要更改 http 协议,而不是文件关联。我已经设置了命令行参数处理。我不想使用 .reg 文件,因为它要求用户添加密钥。

4

3 回答 3

3

您可以在静默模式 ("/S") 下运行 regedit。

或者运行 cmd 脚本:

reg add HKEY_CLASSES_ROOT\http\shell\open\command /ve /d "path\to\app \"%1\"" /f

(对于已注册的 http 处理程序 - 覆盖 "\shell\open\command" 键中现有的空参数)。

更新您还可以根据MSDN 文章尝试使用默认浏览器 (HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet) 。但是您也可以处理本地文件。

于 2012-10-14T19:12:07.570 回答
2

@TomTom 抱歉,我没有足够的代表发表评论。;)

仅仅因为 Firefox 和其他几个浏览器很受欢迎并不意味着它在某种程度上是“特殊的”,因为它可以询问您是否要更改设置。定制应用程序没有理由不能做到这一点。

@msbg,既然您在那里发表评论,您可能已经找到了如何使用 c# 或批处理文件更改默认浏览器的答案

How to find all the browsers installed on a machine which is the other answer at How to find all the browsers installed on a machine which is refer to http://msdn.microsoft.com/en-us/library/dd203067%28VS.85%29.aspx

于 2013-04-18T20:33:43.360 回答
1

你不。这不是程序特定的设置,它是系统范围的。

您可以做的是启动一个特定的 exe(浏览)并将其 URL 作为参数。但总的来说,对不起,这是一个系统级设置(甚至不是用户)iirc。

于 2012-10-14T18:57:41.737 回答