VB und Win32 API
Nachdem Chrisu mir im anderen Topic bestätigt hat, daß unter VB alle Win32 API Funktionen aufrufbar sind, folgt in diesem Topic die Antwort für den gewünschten Mausklick.
Arten von Klicks
Eines ist noch wichtig, bevor wir fortfahren: Es gibt für jede Maustaste einen Klick, und dann auch noch in 3 Varianten, Down (Start des Klicks), Up (Ende des Klicks) und Doppelklick.
Nachricht schicken
Jetzt genauer: Es gibt keinen direkten Klickbefehl, so wie SetCursorPos () im anderen Beitrag. Du mußt dem Programm eine Nachricht schicken, daß an der gewünschten Stelle ein Ereignis, hier also Klick, eingetreten ist. Dazu hast Du die Möglichkeit via
SendMessage () oder PostMessage (). Ersteres wartet auf die Abarbeitung der Nachricht, während PostMessage nur die Nachricht absetzt, diese wird in die Nachrichtenschlange eingereiht.
Aufbau der Befehle
Code:
LRESULT SendMessage (
HWND hWnd, // handle of destination window
UINT Msg, // message to send
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
Parameter hWnd
hWnd ist das Handle des Fensters, das die Nachricht erhalten soll. Wie ich da in VB rankomme, keine Ahnung.
Parameter Msg
Msg ist die Art des Klicks, such Dir einen aus:
Code:
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_MBUTTONDOWN
WM_MBUTTONUP
WM_MBUTTONDBLCLK
WM_RBUTTONDOWN
WM_RBUTTONUP
WM_RBUTTONDBLCLK
Parameter wParam
Hier muß rein, ob zum Klick mit der Maus auch noch andere Tasten gedrückt sein sollen, kann auch 0 sein:
Code:
MK_CONTROL Set if the CTRL key is down.
MK_LBUTTON Set if the left mouse button is down.
MK_MBUTTON Set if the middle mouse button is down.
MK_RBUTTON Set if the right mouse button is down.
MK_SHIFT Set if the SHIFT key is down.
Parameter lParam
Hier stehen nun endlich die Koordinaten, wo der Klick erfolgen soll:
Code:
xPos = LOWORD(lParam); // horizontal position of cursor
yPos = HIWORD(lParam); // vertical position of cursor
Noch Fragen?
O Love
------------------
"I will not abide disobedience!"