В двух словах не сформулировать...
Вообщем такая ситуация:
как при завершение работы (отключение процесса через Диспетчер задач и тд), завершить работу еще одному приложению...
возможно ли это? Если да, то как это примерно будет выглядеть...
при закрытие процесса закрыть еще один
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Т.е. у тебя есть твоя программа написанная на дельфе, и ты хочешь, чтоб при закрытии твоей программы, не важно как, т.е. либо это завершение сеанса, либо перезагрузка, либо завершение твоей проги из диспетчера, она потянула за собой закрытие другого приложения?
Тогда гляди следующее:
А можешь поэкcперементировать, брось на форму Edit1 и кнопку, на кнопку напиши следующее
И закрывай все что душе угодно 
Тогда гляди следующее:
Код: Выделить всё
...
implementation
...
procedure KillProgram(ClassName: PChar; WindowTitle: PChar);
const
PROCESS_TERMINATE = $0001;
var
ProcessHandle : THandle;
ProcessID: Integer;
TheWindow : HWND;
begin
TheWindow := FindWindow(Classname, WindowTitle);
GetWindowThreadProcessID(TheWindow, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
KillProgram(nil,PChar('<Название заголовка окна>'));
//Пример - KillProgram(nil,PChar('Калькулятор'));
end;
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
KillProgram(nil,PChar(Edit1.text));
end;

-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
А вот еще проще
Без создания всяких процедур 
PostMessage(FindWindow(Nil, Pchar(Edit1.text)), WM_QUIT, 0, 0);


PostMessage(FindWindow(Nil, Pchar(Edit1.text)), WM_QUIT, 0, 0);
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

-
- Сообщения: 273
- Зарегистрирован: 30 июн 2005, 14:53
проверь какое событие вызывается при завернении процесса и в нем напиши код завершения другого процесса. Но это не покатит когда ты снимаешь задачу, т.к. никакого события не вызывается.
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
спасибо за помощь, то что нужно.
тема исчерпана.
тема исчерпана.