![]() |
Mausklick auf das X (Fenster schließen) simulieren
Hallo,
mit dem folgenden Code komm ich damit nicht an's Ziel da der Mausklick nur im Clientbereich des fremden Fensters ausgeführt wird. Ich müßte aber in der Titelzeile des fremden Fensters klicken.
Delphi-Quellcode:
Wie kann ich also in der Titelzeile eines fremden Programmes einen Mausklick simulieren?
GetWindowRect(dWindowHandle, MyRect);
PostMessage(dWindowHandle, WM_MouseMove, 0, MakeLParam((MyRect.Right - MyRect.Left) - 13, 13)); PostMessage(dWindowHandle, WM_LButtonDown, MK_LBUTTON, MakeLParam((MyRect.Right - MyRect.Left) - 13, 13)); PostMessage(dWindowHandle, WM_LButtonUp, 0, MakeLParam((MyRect.Right - MyRect.Left) - 13, 13)); Gruss |
Re: Mausklick auf das X (Fenster schließen) simulieren
Wenn es nur um das Beenden geht. Einfach CloseWindow(HANDLE) aufrufen und das Handle des Fensters übergeben.
Florian |
Re: Mausklick auf das X (Fenster schließen) simulieren
Hmmm ... funktioniert teilweise.
Das Fenster verschwindet, leigt aber minimiert beim Startbutton und ist noch in der Taskbar sichtbar. Über die Taskbar muss ich dann noch mal auf Schließen gehen, damit's ganz verschwindet. Könnte mir vorstellen, dass es an der Sicherheitsabfrage (Wirklich schließen?) des Fensters liegt, dass das Programm nicht ganz geschlossen wird. Andere Vorschläge? |
Re: Mausklick auf das X (Fenster schließen) simulieren
Probier mal WM_SYSCOMMAND mit SC_CLOSE,
Gruß, teebee |
Re: Mausklick auf das X (Fenster schließen) simulieren
Mit
Delphi-Quellcode:
und anschließenden automatischen Bestätigen der Sicherheitsabfrage funktionierts.
PostMessage(dWindowHandle, WM_SYSCOMMAND, SC_CLOSE, 0);
Problem gelöst - danke teebee :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz