![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как лучше закрыть чужое приложение?
Шишкин Илья © (2003-05-28 16:42:00)Как закрыть чужое приложение, зная путь к файлу (например C:\Windows\NotePad.exe), чтобы программа сохранила всю информацию? (В случае с блокнотом, надо чтобы появился запрос на сохранение документа)
Suntechnic (2003-05-28 17:56:00) [1]>Шишкин Илья ©
Этот код просто убъёт процесс. Даже не освободив память.
Память освободится вместе с убиенным :), так что об этом можно не волноваться.
Шишкин Илья (2003-05-28 17:45:00) [2]2 Novichek
Этот код просто убъёт процесс. Даже не освободив память.
Novichek (2003-05-28 16:59:00) [3]правда я не уверен что появится запрос на сохранение документа
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,1);
end;
clickmaker (2003-05-28 16:58:00) [4]Послать главному окну сообщение WM_CLOSE. Но зная путь, можно найти процесс, а не окно. Даже если найдешь все окна процесса, главное из них выделить не всегда удастся. А убийство самого процесса приведет к потере данных...