shellexecute无法为某些用户打开http链接

时间:2011-02-26 15:07:21

标签: delphi http browser shellexecute

我的应用程序的某些用户报告链接不在浏览器中打开。我总是用shellexecute启动它们(0,'打开','http:// ...

我可以检查http链接关联中的错误(?)设置?

3 个答案:

答案 0 :(得分:10)

您假设浏览器注册了open动词。它可能没有这样做。

将nil作为第二个参数传递并省略open,然后让操作系统确定http://协议的默认操作,你应该没问题。

答案 1 :(得分:6)

听起来默认浏览器运行不正常。我想我要尝试的第一件事就是让他们输入(任意)url进入start-> run并查看是否弹出。

您也可以让他们注册以下网址的设置:

http://russenreaktor.wordpress.com/2010/07/01/solved-fix-default-protocol-http-association-in-windows/

或者在cmdline上使用ftype实用程序:

C:\Users\marco>ftype http
http="C:\Program Files (x86)\Internet Explorer\iexplore.exe" -nohome

这些操作对HKEY_CLASSES_ROOT / 协议名称下的注册表项进行操作,协议名为= http / ftp等。

制作一个简单的应用程序来转储这些键可能有助于找出这里的模式是什么。

答案 2 :(得分:0)

仅供参考,此故障可能是动态的 - 即,旧的MS PhotoEditor会阻止使用ShellExecute打开URL。 (C.f.,http://code.activestate.com/recipes/334665/)。修复如配方中所述:写出.HTML文件并使用它来执行。