Управление веб-браузером IE res: // использование - PullRequest
3 голосов
/ 13 января 2009

Я использую элемент управления IWebBrowser2 в своем приложении, и у меня есть различные HTML-файлы, которые хранятся в виде ресурсов в исполняемом файле. Чтобы загрузить их, я использую протокол "res: //". Проблема заключается в том, что в определенных версиях IE страницы больше не загружаются, а вместо этого просто отображается сообщение «Действие отменено», Internet Explorer не смог установить ссылку на запрошенную страницу.

Ссылки на страницы указаны в скрипте .rc следующим образом:

stats.html ОТКЛЮЧЕНО HTML "res \ stats.html"

Запрос res выглядит Рез: // C: \ путь \ к \ MyApp.exe / stats.html

Раньше это работало просто отлично, в какой-то момент это поведение изменилось, предположительно с помощью исправления или чего-то в этом роде. Теперь на моей машине это не работает. Я попытался изменить путь res, чтобы он выглядел так:

разрешение: //MyApp.exe/stats.html

это не сработало.

Затем я попытался изменить скрипт rc:

stats HTML DISCARDABLE "res \ stats.html"

и путь res:

разрешение: //MyApp.exe/stats

Теперь это работает! Однако это действительно раздражает, когда приходится использовать этот способ (удаляя «.» И расширение файла из имени ресурса). Кто-нибудь знает, если это ошибка? Особенность? Почему это происходит, и есть ли другой способ обойти это?

Edit: После игры еще немного я нашел это, чтобы работать: stats.htm HTML ОТКЛЮЧЕНО "res \ stats.html" разрешение: //MyApp.exe/stats.htm

Изменение расширения «.html» в имени ресурса на «.htm» работает, но я понятия не имею, почему!

1 Ответ

2 голосов
/ 19 февраля 2009

Убедитесь, что тип контента установлен правильно. Убедитесь, что HKEY_CLASSES_ROOT.html имеет свой тип контента, установленный на «text / html», иначе происходят странные вещи. То же самое для .htm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...