Я пытаюсь открыть локальный HTML-документ с помощью Shell Execute (). Но мне нужно следующее. Предположим, если этот конкретный документ уже открыт и если ShellExecute снова запущен, этот конкретный файл не следует открывать снова, а выведите уже открытый файл на передний план. Подскажите, пожалуйста, как я могу это сделать?
void main()
{
ShellExecute(NULL, "open", "C:\\prograomgiles\\help.html",
NULL, NULL, SW_SHOWNORMAL);
}
Это почти невозможно, потому что это зависит от того, какая программа обрабатывает html
файлы и как это работает. Предположим, что моя ОС открывается html
файлы, печатая их прямо на принтере. Как бы вы вывести открытый файл на передний план?
Если вы хотите отображать HTML-контент указанным вами способом, напишите свой собственный браузер (это довольно просто, например, вы можете — вставлять IE в C # .NET-приложении) и запустите его вместо системного браузера по умолчанию. Тогда у вас будет полный контроль над тем, как отображаются ваши файлы.
Многие веб-браузеры отвечают на сообщения DDE, особенно WWW_OpenURL
сообщение. Не уверен насчет других браузеров, но IE также отвечает WWW_GetWindowInfo
а также WWW_Activate
сообщения, которые вы можете использовать для перечисления открытых окон и их URL, а затем активировать определенное окно.