На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Win Api / Скажите пожалуйста могу ли я из своей программы закрыть чужое приложение и как? Сделать домашней страницей Добавить в избранное Написать писмо

Скажите пожалуйста могу ли я из своей программы закрыть чужое приложение и как?


»»» Nech (02.07.00 22:11)
Скажите пожалуйста могу ли я из своей программы закрыть чужое приложение и как?
Почему нельзя просто написать:
SendMessage(FormHandle,WM_CLOSE,0,0);

»»» kingdom - kingdom@tepkom.ru (09.07.00 18:48)
Возможно надо не FormHandle, а ApplicationHandle...

»»» Sergei - Sergei@polisma.net (09.07.00 21:24)
Ситуация следующая в Win32 все приложения идут в отдельном адресном пространсте, поэтому handle в одном процессе будет иметь совершенно другое значение в другом (если он вообще там будет). Однако способы решения данной проблемы существуют см. например TerminateProcess.

»»» Merlin (10.07.00 03:17)
Сергей, а нельзя ли пример? (ели уже сталкивался с этим?)

»»» Sergei - Sergei@polisma.net (10.07.00 18:13)
Для хорошего примера наверно нужно более подробно описать интересующую ситуацию. Например вы можете получит идентификаторы о всех процессов в ситеме
EnumProcesses(...)
Затем можно открыть нужный hendle процесса OpenProcess(...). Далее процесс можно убить TerminateProcess(...). Не забудте также вызвать CloseHandle(...). TerminateProcess(...) имеет свои недостатки, так как при этом не происходит исполнение секций отключения от DLL для завершаемого процесса. Опишите конкретно ситуацию.

»»» alex10 - alex10@atom.ru
ето издевательсво - просто findwindow(classname,windowname) если известно имя окна надо пускать
repeat
h:=getwindow(h,GW_HWNDNEXT);
getwindowtext(h,p,sizeof(p);
until (p='текст') or (h=0);

-= Из конференции сайта MASTERS OF DELPHI (http://delphi.mastak.com) =-

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz