Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > POP-UP окна - как получиь HWND?


Автор: Yama 8.1.2007, 16:50
Всем доброго времени суток и поздровляю всех с Новым годом и Рождеством!
Собственно, сабж.
Мне необходино получить HWND на любые поп-ап окна(желательно вообще на любое дочернее окно), которые открываются в ИЕ.
Как это сделать? smile
ИЕ у меня привязан к классу ShDocVw.InternetExplorer, но если знаете, как можно получить указатели по другому - подойдет любой способ!
Заранее спасибо.

Автор: mr.DUDA 9.1.2007, 00:22
Единственное что приходит в голову - перечислить окна, открытые в системе, с помощью FindWindowEx.

Автор: Yama 9.1.2007, 16:02
Цитата(mr.DUDA @  9.1.2007,  00:22 Найти цитируемый пост)
Единственное что приходит в голову - перечислить окна, открытые в системе, с помощью FindWindowEx. 

Хм...
У меня сам процесс запущен как :
Код

ProcessStartInfo pstart = new ProcessStartInfo("iexplore");
            Process proc = new Process();
            proc.StartInfo = pstart;
            proc.Start();

потом я через SHDocVw.ShellWindows нахожу Handle главного окна и передаю найденный процесс классу InternetExplorer.
По идее, в системе хранится информация, чей процесс дочерний от кого и кто тот или иной процесс запустил. Т.е. искомое окно является дочерним от моего. Проблема в том, что в классе InternetExplorer не реализован доступ к дочерним окнам. Как это сделать? Или, может, задать этот вопрос лучше было в разделе "C/C++: Системное программирование и WinAPI"? Но хотелось бы на С# это сделать.

Автор: Stepan_Lameroff 9.1.2007, 22:57
Я думаю, Вам может помочь библиотека http://sourceforge.net/project/showfiles.php?group_id=167632.
IE в ней обернут достаточно основательно  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)