Вот, раскопал в дебрях одного из старых проектов. Задача тогда стояла такая — если ни одного окна IE не открыто, то открыть новое с заданным адресом страницы; если хоть одно окно браузера уже открыто, то вывести его на передний план и уже в нем открыть требуемый адрес.
Как сейчас помнится, в результате долгой и продолжительной болезни
родилась такая функция:
// Первый параметр - это дескриптор окна-владельца (HWND), второй - адрес страницы
void OpenPageInIE(HWND hWnd, const char* pageAddr) {
HANDLE hWndIEApp = NULL;
hWndIEApp = FindWindow("IEFrame",NULL); // ищем главное окно IE
if(hWndIEApp) {
ShowWindow(hWndIEApp, SW_SHOWMAXIMIZED); // разворачиваем
BringWindowToTop(hWndIEApp); // переводим на передний план
}
ShellExecute(hWnd, "open", pageAddr,NULL,NULL, SW_SHOWNORMAL); // открываем страницу
}
Пример использования:
OpenPageInIE(mainWindowHWND,"http://www.rsdn.ru");
З.Ы. Проверял под Win98/2000 — работает.