Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Вниз

Закрыть 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.054 c
1-1158224139
Ruslan D
2006-09-14 12:55
2006.10.22
Работа со строками


6-1148991296
Забияка
2006-05-30 16:14
2006.10.22
TIdHTTPServer (Indy 10): ответ порциями без разрыва соединения


15-1159780948
Чапаев
2006-10-02 13:22
2006.10.22
NetBIOS-имя домена


4-1149174929
salexn
2006-06-01 19:15
2006.10.22
Измерить скорость чтения диска


15-1159506275
vidiv
2006-09-29 09:04
2006.10.22
Визуальная среда для разработки структуры базы данных...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский