ControlClick

01/09/2009 21:28 Haygu#46
hmm... Also ich mach das clicken in minimierte fenster immer so:

Erstma die Funktion:

Quote:
;================================================= ==============================
;
; Function Name: _MouseClickPlus()
; Version added: 0.1
; Description: Sends a click to window, not entirely accurate, but works
; minimized.
; Parameter(s): $Window = Title of the window to send click to
; $Button = "left" or "right" mouse button
; $X = X coordinate
; $Y = Y coordinate
; $Clicks = Number of clicks to send
; Remarks: You MUST be in "MouseCoordMode" 0 to use this without bugs.
; Author(s): Insolence <[Only registered and activated users can see links. ]>
;
;================================================= ==============================
Func _MouseClickPlus($Window, $Button = "left", $X = "", $Y = "", $Clicks = 1)
Local $MK_LBUTTON = 0x0001
Local $WM_LBUTTONDOWN = 0x0201
Local $WM_LBUTTONUP = 0x0202

Local $MK_RBUTTON = 0x0002
Local $WM_RBUTTONDOWN = 0x0204
Local $WM_RBUTTONUP = 0x0205

Local $WM_MOUSEMOVE = 0x0200

Local $i = 0

Select
Case $Button = "left"
$Button = $MK_LBUTTON
$ButtonDown = $WM_LBUTTONDOWN
$ButtonUp = $WM_LBUTTONUP
Case $Button = "right"
$Button = $MK_RBUTTON
$ButtonDown = $WM_RBUTTONDOWN
$ButtonUp = $WM_RBUTTONUP
EndSelect

If $X = "" OR $Y = "" Then
$MouseCoord = MouseGetPos()
$X = $MouseCoord[0]
$Y = $MouseCoord[1]
EndIf

For $i = 1 to $Clicks
DllCall("user32.dll", "int", "SendMessage", _
"hwnd", WinGetHandle( $Window ), _
"int", $WM_MOUSEMOVE, _
"int", 0, _
"long", _MakeLong($X, $Y))

DllCall("user32.dll", "int", "SendMessage", _
"hwnd", WinGetHandle( $Window ), _
"int", $ButtonDown, _
"int", $Button, _
"long", _MakeLong($X, $Y))

DllCall("user32.dll", "int", "SendMessage", _
"hwnd", WinGetHandle( $Window ), _
"int", $ButtonUp, _
"int", $Button, _
"long", _MakeLong($X, $Y))
Next
EndFunc
So... dann schreibe ich mir erstmal nen trashscript mit dem inhalt:

WinMove("Guild Wars", "", 0, 0)

Dann benutze ich das autoit window info tool und benutze die cords die unter "Mouse" Stehen.

dann ziehe ich von der Y coordinate 30 ab und es funkzt.

Weis nicht obs bei Guildwars funkzt aber man kanns mal versuchen.

Ps: An MouseCoordMode 0 denken ^^
01/09/2009 21:34 i4mSoH34Vy#47
Quote:
Originally Posted by Haygu View Post
hmm... Also ich mach das clicken in minimierte fenster immer so:

Erstma die Funktion:



So... dann schreibe ich mir erstmal nen trashscript mit dem inhalt:

WinMove("Guild Wars", "", 0, 0)

Dann benutze ich das autoit window info tool und benutze die cords die unter "Mouse" Stehen.

dann ziehe ich von der Y coordinate 30 ab und es funkzt.

Weis nicht obs bei Guildwars funkzt aber man kanns mal versuchen.

Ps: An MouseCoordMode 0 denken ^^
MouseCoordMode 2 und die Funktion haben wir schon paar mal gepostet :P
01/10/2009 09:33 aLasca#48
Jo, nur das seins unübersichtlicher ist :D