2009. augusztus 8., szombat
How to close another application
Problem/Question/Abstract:
How to close another application
Answer:
library KillGUI;
uses
Windows, Messages;
function PostQM(nCode: Integer; wParam: WParam; lparam: LParam): Lparam; stdcall;
begin
PostQuitMessage(1);
Result := 0;
end;
function ExitRP(nCode: Integer; wParam: WParam; lparam: LParam): Lparam; stdcall;
begin
ExitProcess(1);
Result := 0;
end;
procedure PostQuit(AHandle: THandle; Level: DWord); stdcall;
var
tid: DWord;
pid: DWord;
hProcess: THandle;
begin
tid := GetWindowThreadProcessId(AHandle, @pid);
case Level of
0:
PostMessage(AHandle, WM_CLOSE, 0, 0);
1:
SetWindowsHookEx(WH_GETMESSAGE, PostQM, Hinstance, tid);
2:
SetWindowsHookEx(WH_GETMESSAGE, ExitRP, Hinstance, tid);
3:
begin
hProcess := OpenProcess(PROCESS_TERMINATE, False, pid);
TerminateProcess(hProcess, 1);
end;
end;
PostThreadMessage(tid, 0, 0, 0);
end;
exports
PostQuit name 'PostQuit';
begin
end.
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése