Quote:
Originally Posted by j199207
Das meinte er damit nicht. Du musst das schon über DLLCall machen.
|
Mach doch kein Geheimnis draus, habs dir doch auch geschickt *g*
Es ist doch eh nur ein geben und nehmen ... .
Code:
blah
ControlClick($hwnd0, "", "", "left", 2, $ident_x, $ident_y)
Sleep(200)
_MouseClick($hwnd0, "left", $ix, $iy, 1, 80)
blah
Hier noch den Funktionscode:
Code:
Func _MakeLong($LoWord, $HiWord)
Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
EndFunc ;==>_MakeLong
Func _MouseClick($hWnd, $button, $x, $y, $times = 1, $delay = 15) ; Use the relative coords to the client area of the active window
If $hWnd = 0 Then
SetError(-1)
Return
EndIf
Local $ix
Local $lParam = _MakeLong($x, $y)
Local $user32 = DllOpen("user32.dll")
$button = StringLower($button)
If $button = "left" Then
For $ix = 1 To $times
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", $lParam) ; Move
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 1, "long", $lParam) ; Down
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", $lParam) ; Up
If $ix < $times Then Sleep($delay)
Next
ElseIf $button = "right" Then
For $ix = 1 To $times
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", $lParam) ; Move
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x204, "int", 2, "long", $lParam) ; Down
DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x205, "int", 0, "long", $lParam) ; Up
If $ix < $times Then Sleep($delay)
Next
Else
SetError(-2)
If $user32 <> -1 Then DllClose($user32)
Return
EndIf
If $user32 <> -1 Then DllClose($user32)
EndFunc ;==>_MouseClick