# Function Reference

MouseClick

Perform a mouse click operation.

MouseClick ( "button" [, x, y [, clicks [, speed ]]] )

Parameters

button | The button to click: "left", "right", "middle", "main", "menu", "primary", "secondary".
x, y | [optional] The x/y coordinates to move the mouse to. If no x and y coords are given, the current position is used (default).
clicks | [optional] The number of times to click the mouse. Default is 1.
speed | [optional] the speed to move the mouse in the range 1 (fastest) to 100 (slowest). A speed of 0 will move the mouse instantly. Default speed is 10.

Return Value

Success: | Returns 1.
Failure: | Returns 0, the button is not in the list.

Remarks

If the button is an empty string, the left button will be clicked.
If the user has swapped the left and right mouse buttons in the control panel, then the behaviour of the buttons is different. "Left" and "right" always click those buttons, whether the buttons are swapped or not. The "primary" or "main" button will be the main click, whether or not the buttons are swapped. The "secondary" or "menu" buttons will usually bring up the context menu, whether the buttons are swapped or not.

Button | Normal | Swapped
"" | Left | Left
"left" | Left | Left
"middle" | Middle | Middle
"right" | Right | Right
"primary" | Left | Right
"main" | Left | Right
"secondary" | Right | Left
"menu" | Right | Left

Related

MouseClickDrag, MouseGetPos, MouseMove, MouseCoordMode (Option), MouseClickDelay (Option)

Example

; Double click at the current mouse pos
MouseClick("left")
MouseClick("left")
; Double click at 0,500
MouseClick("left", 0, 500, 2)
; SAFER VERSION of Double click at 0,500
Dim $primary
Dim $secondary
;Determine if user has swapped right and left mouse buttons
$k = RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "SwapMouseButtons")
; It's okay to NOT check the success of the RegRead operation
If $k = 1 Then
$primary = "right"
$secondary = "left"
Else ;normal (also case if could not read registry key)
$primary = "left"
$secondary = "right"
EndIf
MouseClick($primary, 0, 500, 2)
Exit