Soviel ich bisher gelesen habe ist es nicht möglich eine Messagebox per
Handle und WM_CLOSE zu schliessen da diese für Windows Dialoge ohne
Handle bzw. Dialoge die zu einem anderen
Handle gehören darstellen (intern dürften sie natürlich auch ein eigenes
Handle haben, da kommt man aber sicher nicht ran).
Hier mein Versuch eines Tastendruckes:
Delphi-Quellcode:
procedure CloseAppFromInst(HInst: THandle);
var
Inp: TInput;
I: Integer;
begin
//Fenster fokussieren
PostMessage(HInst, WM_ACTIVATEAPP, 0, 0);
PostMessage(HInst, WM_SHOWWINDOW, 0, 0);
//Schliessen Nachricht
PostMessage(HInst, WM_CLOSE, 0, 0);
Inp.Itype := INPUT_KEYBOARD;
Inp.ki.wVk := VK_RETURN;
Inp.ki.dwFlags := 0;
SendInput(1, Inp, SizeOf(Inp));
keybd_event(VK_RETURN,0,0,0);
end;
Habs auch schon mit SendInput() versucht, kam aber auch nichts dabei heraus !