winapi — запуск html-файла в переполнении стека

Я пытаюсь открыть локальный HTML-документ с помощью Shell Execute (). Но мне нужно следующее. Предположим, если этот конкретный документ уже открыт и если ShellExecute снова запущен, этот конкретный файл не следует открывать снова, а выведите уже открытый файл на передний план. Подскажите, пожалуйста, как я могу это сделать?

void main()
{
ShellExecute(NULL, "open", "C:\\prograomgiles\\help.html",
NULL, NULL, SW_SHOWNORMAL);
}

0

Решение

Это почти невозможно, потому что это зависит от того, какая программа обрабатывает html файлы и как это работает. Предположим, что моя ОС открывается html файлы, печатая их прямо на принтере. Как бы вы вывести открытый файл на передний план?

Если вы хотите отображать HTML-контент указанным вами способом, напишите свой собственный браузер (это довольно просто, например, вы можете — вставлять IE в C # .NET-приложении) и запустите его вместо системного браузера по умолчанию. Тогда у вас будет полный контроль над тем, как отображаются ваши файлы.

1

Другие решения

Многие веб-браузеры отвечают на сообщения DDE, особенно WWW_OpenURL сообщение. Не уверен насчет других браузеров, но IE также отвечает WWW_GetWindowInfo а также WWW_Activate сообщения, которые вы можете использовать для перечисления открытых окон и их URL, а затем активировать определенное окно.

1

По вопросам рекламы [email protected]