开发者

shellexecute fails to open http links for some users

Some users of an app of mine are reporting links dont open in the browser. I always launch them with shellexecute(0, 'open', 'http://...

what could I check for an incorrect(?) setting in the http link associa开发者_如何学Gotions?


You're assuming that the browser registered the open verb. It may not have done so.

Just pass nil as the second parameter and omit the open, and let the OS determine what the default action is for the http:// protocol, and you should be fine.


Sounds like the default browser is not functioning quite right. I guess the first thing I would try is to have them enter an (any) url into start->run and see if that pops up.

You could also have them register what the settings on the URL below are:

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

Or use the ftype utility on the cmdline:

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

These operate on registry keys under HKEY_CLASSES_ROOT/protocolname with protocolname=http/ftp etc.

Making a simple app to dump these keys might help finding out what the pattern here is.


FYI, this failure can be dynamic -- i.e., the old MS PhotoEditor would block opening URLS using ShellExecute. (C.f., http://code.activestate.com/recipes/334665/ ). Fix is as noted in the recipe: write out an .HTML file and shellexecute that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜