shellexecute не может открыть http-ссылки для некоторых пользователей - PullRequest
8 голосов
/ 26 февраля 2011

Некоторые пользователи моего приложения сообщают, что ссылки не открываются в браузере. Я всегда запускаю их с помощью shellexecute (0, 'open', 'http: //...

Что я могу проверить на неправильную (?) Настройку в http-связях?

Ответы [ 3 ]

10 голосов
/ 27 февраля 2011

Вы предполагаете, что браузер зарегистрировал глагол open.Возможно, он этого не сделал.

Просто передайте nil в качестве второго параметра и пропустите open, и пусть ОС определит действие по умолчанию для протокола http: //, и все будет в порядке..

6 голосов
/ 26 февраля 2011

Звучит так, как будто браузер по умолчанию работает не совсем правильно. Я думаю, первое, что я бы попробовал, это заставить их ввести (любой) URL-адрес в start-> run и посмотреть, появится ли оно.

Вы также можете зарегистрировать параметры URL-адреса ниже:

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

Или используйте утилиту ftype в командной строке:

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

Они работают с ключами реестра в HKEY_CLASSES_ROOT / имя протокола с именем протокола = http / ftp и т. Д.

Создание простого приложения для сброса этих ключей может помочь выяснить, каков здесь шаблон.

0 голосов
/ 30 октября 2012

Между прочим, этот сбой может быть динамическим, т. Е. Старый MS PhotoEditor блокировал открытие URL-адресов с помощью ShellExecute.(Ср. http://code.activestate.com/recipes/334665/).Исправление, как указано в рецепте: запишите файл .HTML и выполните его, выполнив.

...