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

Вниз

Закрыть Internet Explorer   Найти похожие ветки 

 
Валерий   (2006-06-01 19:05) [0]

Облазил форумы - ничего не нашел.
Как можно программно закрыть окно IE?
Я запускаю его с помощью WinExec, сохраняю handle в Handle2, потом пытаюсь закрыть - и ничего не происходит.
пробовал и SendMessage(Handle2, WM_CLOSE, 0, 0);, PostMessage(Handle2, WM_CLOSE, 0, 0); и TerminateProcess(Handle2, 0) - вообще ничего. даже ошибку не пишет!
Что я не так делаю?

Подкажите пожалуйста.


 
brrrrrrr   (2006-06-01 19:14) [1]

А хнэдл откуда берется? Надеюсь не WinExec вам его возвращает? :)
Почитайте про ShellExecute, ShellExecuteEx


 
Валерий   (2006-06-01 19:21) [2]

Вообще-то именно так я и получал handle...
А что это не то?
ShellExecute пробовал... Только как оттуда получить handle для закрытия?
А вот с ShellExecuteEx - чего-то никак не разберусь - как использовать? Можете какой-нибудь пример дать?


 
brrrrrrr   (2006-06-02 18:29) [3]

Неа, не то... Пример:

 var SHI: SHELLEXECUTEINFO;
 ...
 SHI.cbSize := SizeOf(SHI);
 SHI.fMask := SEE_MASK_NOCLOSEPROCESS;
 SHI.wnd := Self.Handle;
 SHI.lpVerb := "open";
 SHI.lpFile := PChar(GetEnvironmentVariable("windir") + "\system32\msiexec.exe");
 SHI.lpParameters := PChar("/i " + GetEnvironmentVariable("TEMP") + "\wuau22rus.msi");
 SHI.lpDirectory := PChar(GetEnvironmentVariable("TEMP"));
 SHI.nShow := SW_SHOWDEFAULT;
 ShellExecuteEx(@SHI);
 WaitForSingleObject(SHI.hProcess, INFINITE);


 
Чапаев ©   (2006-06-02 19:07) [4]


> Валерий   (01.06.06 19:05)  

Да, с закрытием IE, помнится, были какие-то проблемы... WM_QUIT попробуй.


 
Lab74 ©   (2006-06-03 22:48) [5]

SendMessage(Handle2, WM_SYSCOMMAND, SC_CLOSE, 0)


 
Eraser ©   (2006-06-03 23:22) [6]


> Валерий   (01.06.06 19:05)

PostMessage(ХЭНДЛ_ОКНА_ЭКСПЛЕРЕРА, WM_CLOSE, 0, 0)
прекрасно всё закрывается.


 
Lab74 ©   (2006-06-03 23:43) [7]


> Eraser ©   (03.06.06 23:22) [6]
> PostMessage(ХЭНДЛ_ОКНА_ЭКСПЛЕРЕРА, WM_CLOSE, 0, 0)


случайно не знаешь, почему в данном случае PostMessage работает, а SendMessage - нет?


 
Eraser ©   (2006-06-03 23:50) [8]


> Lab74 ©   (03.06.06 23:43) [7]

очевидно, потому что вызов DestroyWindow происходит не в оконной процедуре, а цикле выборки сообщений потока окна, хотя утверждать не берусь.
Кстити в Win9x окно закрывается и при SendMessage.



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

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

Наверх




Память: 0.48 MB
Время: 0.047 c
2-1160028164
dera
2006-10-05 10:02
2006.10.22
Как на форме разместить web-страницу?


2-1160311802
alexa14
2006-10-08 16:50
2006.10.22
Динамическое создание popupmenu


2-1160291715
Primus
2006-10-08 11:15
2006.10.22
Automation в Delphy


15-1159463727
Chort
2006-09-28 21:15
2006.10.22
Проблема с картриджем


1-1158224139
Ruslan D
2006-09-14 12:55
2006.10.22
Работа со строками