# Function Reference

# ControlClick

Sends a mouse click command to a given control.

ControlClick ( "title", "text", controlID [, button = "left" [, clicks = 1 [, x [, y]]]] )

## Parameters

title | The title/hWnd/class of the window to access. See Title special definition.
text | The text of the window to access. See Text special definition.
controlID | The control to interact with. See Controls.
button | [optional] The button to click, "left", "right", "middle", "main", "menu", "primary", "secondary". Default is the left button.
clicks | [optional] The number of times to click the mouse. Default is 1.
x | [optional] The x position to click within the control. Default is center.
y | [optional] The y position to click within the control. Default is center.

## Return Value

Success: | 1.
Failure: | 0.

## Remarks

Some controls will resist clicking unless they are the active window. Use the WinActivate() function to force the control's window to the top before using ControlClick().
Using 2 for the number of clicks will send a double-click message to the control - this can even be used to launch programs from an explorer control!
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

ControlCommand, MouseClick, WinActivate

## Example

    Example()

    Func Example()
        ; Run Notepad
        Run("notepad.exe")

        Local $hWnd = WinWaitActive("[CLASS:Notepad]", "")

        ; Send a mouse click to the edit control of Notepad using the handle returned by WinWaitActive.
        ControlClick($hWnd, "", ControlGetFocus($hWnd), "right")

        ; Wait for 2 seconds.
        Sleep(2000)

        ; Close the Notepad window using the handle returned by WinWaitActive.
        WinClose($hWnd)
    EndFunc   ;==>Example