Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.23;
Скачать: CL | DM;

Вниз

проблема с ShellExecuteEx   Найти похожие ветки 

 
alshtam ©   (2007-08-29 09:03) [0]

проблема в следующем я открываю 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;
подскажите пожалуста что неправильно я сделал?


 
MBo ©   (2007-08-29 09:07) [1]

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


 
alshtam ©   (2007-08-29 09:10) [2]

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


 
@!!ex ©   (2007-08-29 09:18) [3]

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

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


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

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


 
@!!ex ©   (2007-08-29 09:31) [5]

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

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


 
MBo ©   (2007-08-29 09:31) [6]

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


 
alshtam ©   (2007-08-29 09:33) [7]

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



Страницы: 1 вся ветка

Текущий архив: 2007.09.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
2-1188363807
alshtam
2007-08-29 09:03
2007.09.23
проблема с ShellExecuteEx


6-1169298564
novice007
2007-01-20 16:09
2007.09.23
Post в TidHTTPServer


2-1188308817
harisma
2007-08-28 17:46
2007.09.23
Как отдебагать dll?


11-1171955913
ryslan56
2007-02-20 10:18
2007.09.23
Бывалым


2-1188366377
ДуДу
2007-08-29 09:46
2007.09.23
Скрытие процесса.