Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблема с ShellExecuteEx


alshtam ©   (2007-08-29 09:03:00) 

проблема в следующем я открываю Chm файл и хотелось бы получить хендл окна в котором открылось приложение но в переменной hProcess класса SHELLEXECUTEINFO явно лежит не хендл
вот мой текст

var
 SHExecInfo:SHELLEXECUTEINFO;
 styl:longint;
begin
 SHExecInfo:=SHELLEXECUTEINFO(GetMemory(sizeof(SHELLEXECUTEINFO))^);
 SHExecInfo.cbSize := sizeof(SHELLEXECUTEINFO);
 SHExecInfo.fMask := SEE_MASK_NOCLOSEPROCESS;
 SHExecInfo.nShow := SW_SHOWNORMAL;
 SHExecInfo.lpFile := 'test.chm';
 ShellExecuteEx(@SHExecInfo);
end;
подскажите пожалуста что неправильно я сделал?


alshtam   (2007-08-29 09:33:00) [1]

большое спасибо, щас попробую!


@!!ex   (2007-08-29 09:31:00) [2]

> [4] alshtam ©   (29.08.07 09:21)

Список окон, созданных процессом, получается с помощью функции EnumWindows.
Для каждого из этих окон с помощью функции GetWindowThreadProcessID определяется процесс.
Выбираешь только те окна, которые принадлежат данному процессу.


MBo   (2007-08-29 09:31:00) [3]

Придется перебрать окна (например, EnumWindows), и проверить, какому потоку/процессу они принадлежат


alshtam   (2007-08-29 09:21:00) [4]

да конечно, но у процесса соцданого таким путем только одно окно!


@!!ex   (2007-08-29 09:18:00) [5]

> [2] alshtam ©   (29.08.07 09:10)

только стоит учитывать, что у одного процесса может быть вагон окон...


alshtam   (2007-08-29 09:10:00) [6]

хендл просесса..
как по нему пожно узнать хендл окна, должно быть как моможно?


MBo   (2007-08-29 09:07:00) [7]

>явно лежит не хендл
хендл, только не окна, а процесса


Наверх

Титульная страница Поиск, карта сайта Написать письмо