Главная страница
    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.038 c
1-1158117132
atruhin
2006-09-13 07:12
2006.10.22
Глюки в TActionManager


2-1159950119
pavel_guzhanov
2006-10-04 12:21
2006.10.22
Можно ли из программы, написанной на Delphi, и работающей под


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


1-1157794682
yahaha
2006-09-09 13:38
2006.10.22
Webbrowser


15-1158567296
Alien1769
2006-09-18 12:14
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский