Wie kann ich simulieren, das klicken auf eine Schaltfläche angesichts der handle auf die Schaltfläche Fenster?
Möchte ich simulieren, klicken Sie auf eine Schaltfläche in einem Dialogfeld.
Habe ich das handle auf das Fenster. Dies ist ein Abort/Retry/Ignore Art von Fenster.
Ich nicht gehen wollen mit der Simulation klicken Sie mit der X-und Y-Koordinaten, da es nicht meine Bedürfnisse anzupassen.
- Könnte das helfen? forums.codeguru.com/...
- Es ist nicht normal. Scheint, die behaupten, schlägt fehl, irgendwo, und Sie die debug-version. Versuchen _set_abort_behavior().
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie das handle für die Schaltfläche, die Sie klicken möchten (mithilfe
FindWindowEx
), und nur senden, klicken Sie auf Nachricht:EnumChildWindows
, bis Sie herausfinden, target-Schaltfläche handhaben. Wenn WinAPI-enthalten eine Funktion, die würden direkt "Klick" auf eines der Fenster, Schaltflächen, es würde genau das gleiche tun wie wir. Auch, WinAPI ist die Behandlung von Schaltflächen als (Kind -) Fenster.BM_CLICK
Nachricht anstelle von zweiWM_LBUTTON...
Nachrichten:SendMessage(hButton, BM_CLICK, 0, 0);
Senden Sie eine
BM_CLICK
Nachricht an die HWND-Eigenschaft der Schaltfläche:Verursacht, dass die-Schaltfläche erhalten Sie
WM_LBUTTONDOWN
undWM_LBUTTONUP
Nachrichten, und die Eltern erhalten eineBN_CLICKED
Benachrichtigung, als hätte der Benutzer physisch auf den button geklickt haben.SendMessage(hParent, WM_COMMAND, MAKEWPARAM(IdOfButton, BN_CLICKED), (LPARAM)hwndOfButton);
In der Regel können Sie Weg, ohne den
hwndOfButton
, wenn Sie nicht wissen, es - abhängig von der dialog-Umsetzung!Kann es sein
SendMessage
oderPostMessage
je nach Ihrem Anwendungsfall.Versuchen, diese für das OK:
Hier ist eine vollständige Funktion: