ControlClick
Эмулирует нажатие мыши на указанный элемент интерфейса.
ControlClick ( "title", "text", controlID [, button = "left" [, clicks = 1 [, x [, y ]]]] )
Параметры
title | Заголовок/дескриптор/класс окна. См. заголовки и текст окон (расширенные). |
text |
Текст окна. |
controlID |
Идентификатор элемента управления. Смотрите Элементы управления. |
button |
[необязательный] Кнопка мыши, которой эмулировать нажатие: "left", "right", "middle", "main", "menu", "primary", "secondary". По умолчанию левая кнопка. |
clicks |
[необязательный] Количество кликов мыши. По умолчанию 1. |
x |
[необязательный] Координата X для клика внутри элемента, относительно левого верхнего угла элемента. По умолчанию в центре. |
y |
[необязательный] Координата Y для клика внутри элемента, относительно левого верхнего угла элемента. По умолчанию в центре. |
Возвращаемое значение
Успех: | Возвращает 1. |
Ошибка: | Возвращает 0. |
Примечания
Некоторые элементы противодействуют нажатию на них мышью, если окно не активно. Используйте функцию WinActivate(), чтобы сделать окно активным, перед использованием ControlClick().Кнопка | Стандартное | Переназначенное |
---|---|---|
"" | Левая | Левая |
"left" | Левая | Левая |
"middle" | Средняя | Средняя |
"right" | Правая | Правая |
"primary" | Левая | Правая |
"main" | Левая | Правая |
"secondary" | Правая | Левая |
"menu" | Правая | Левая |
См. также
ControlCommand, MouseClick, WinActivateПример
; Запуск калькулятора
Run('calc.exe')
; Класс окна в зависимости от версии OS
Switch @OSVersion
Case 'WIN_7', 'WIN_8'
$sClassWnd = 'CalcFrame'
Case Else
$sClassWnd = 'SciCalc'
EndSwitch
If WinWaitActive('[CLASS:' & $sClassWnd & ']', '', 5) Then ; ожидание появления калькулятора 5 сек
; 4 раза кликаем основной ("main") кнопкой мыши
ControlClick('[CLASS:' & $sClassWnd & ']', '', '[CLASS:Button; INSTANCE:15]', "main", 4) ; 15 - кнопка 3 в обычном виде
ControlClick('[CLASS:' & $sClassWnd & ']', '', '[CLASS:Button; INSTANCE:54]', "main", 4) ; 54 - кнопка 3 в инженерном виде
Else
MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
EndIf