函数参考


ControlClick

向指定控件发送鼠标点击命令.

ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X坐标 [, Y坐标]]]] )

参数

标题 目标窗口标题.
文本 目标窗口文本.
控件ID 要进行交互的控件.参考 控件 的说明.
按钮 [可选参数] 要点击的按钮, 可以是"left"(左键), "right"(右键), "middle"(中键), "main"(主要), "menu"(菜单), "primary"(主键), "secondary"(次键). 默认为left(左键).
点击次数 [可选参数] 要点击鼠标按钮的次数. 默认值为 1.
X坐标 [可选参数] 要点击控件的位置(X坐标). 默认为控件中心.
Y坐标 [可选参数] 要点击控件的位置(Y坐标). 默认为控件中心.

返回值

成功: 返回 1.
失败: 返回 0.

注意/说明

一些控件在未被激活(激活使用WinActivate()函数)之前将不能使用ControlClick().
使用两次的点击将会发送一个双击消息到控件 - 这个事件可以用于在资源管理器控件中打开一个文件!

如果用户在控制面板中交换了鼠标左键和右键, 按钮的行为也将会不同. "Left"(左键) 和 "right"(右键) 总是点击那些按钮,不管按钮是否被交换. 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.



按钮 正常 按钮交换后
"" Left(左键) Left(左键)
"left"(左键) Left(左键) Left(左键)
"middle"(中键) Middle(中键) Middle(中键)
"right"(右键) Right(右键) Right(右键)
"primary"(主键) Left(左键) Right(右键)
"main"(主要) Left(左键) Right(右键)
"secondary"(次键) Right(右键) Left(左键)
"menu"(菜单) Right(右键) Left(左键)

相关

ControlCommand, MouseClick, WinActivate

示例/演示


Run("winver.exe")
$HWND=WinWaitActive('[REGEXPTITLE:.+Windows;REGEXPCLASS:#\d+]','')
If IsHWnd($HWND) Then
    MsgBox(32,$HWND,'系统关于窗口出现咯...')
    ControlClick(HWnd($HWND), "", "Button1")
Else
    MsgBox(32,"ERROR","貌似没找到窗口嘛...")
EndIf