В качестве документации к моей программе используется html. Запускается через ShellExecute с командой Open. Проблема в том, что так не открываются якоря (page.htm#anchor) и страницы с аргументами (page.htm?arg=value). Очевидно, что все что после точки считается расширением, которого, естественно нет в реестре.
Как можно запустить такие страницы (браузером по умолчанию)?
30.05.04 20:29: Перенесено из 'Shareware и бизнес' — der Igel
Здравствуйте, .max, Вы писали:
M>В качестве документации к моей программе используется html. Запускается через ShellExecute с командой Open. Проблема в том, что так не открываются якоря (page.htm#anchor) и страницы с аргументами (page.htm?arg=value). Очевидно, что все что после точки считается расширением, которого, естественно нет в реестре.
M>Как можно запустить такие страницы (браузером по умолчанию)?
Префикс "
file:///" есть?
RB>Префикс "file:///" есть?
После добавления
file:/// стали происходить дикие вещи:
— без якоря все в порядке;
— при запуске с якорем: появляется окно "Выбереите папку, куда переместить page.htm", затем то же, только "копировать", потом в браузере открывается page.htm (не на якоре) и, наконец, в блокноте открывается HTML страницы (?!).
Пробовал все backslash переделать в slash — не помогает. При запуске через "Пуск > Выполнить" запускается без глюков, но, опять-таки, не на якоре...
Здравствуйте, .max, Вы писали:
M>В качестве документации к моей программе используется html. Запускается через ShellExecute с командой Open. Проблема в том, что так не открываются якоря (page.htm#anchor) и страницы с аргументами (page.htm?arg=value). Очевидно, что все что после точки считается расширением, которого, естественно нет в реестре.
M>Как можно запустить такие страницы (браузером по умолчанию)?
Вот так — точно будет работать:
iexplore.exe file://c:/folder/file.htm#anchor
Как вариант — можно создать временный файл, с таким содержимым:
<HTML><HEAD><META HTTP-EQUIV=Refresh CONTENT="0; URL=file://c:/folder/file.htm#anchor"></HEAD></HTML>
sprintf(szSEBuf, "<HTML><HEAD><META HTTP-EQUIV=Refresh CONTENT=\"0; URL=file://%s#%s\"></HEAD></HTML>", szPath, szActor);