Функция ControlClick

         Описание функции


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().
Использование 2 два клика эмулирует двойной клик на элементе - это даже может быть использовано для запуска программ из Эксплорера!

Если пользователь переназначил левую и правую кнопки мыши (обменял местами, для левши) в панели управления, то поведение кнопок для некоторых значений параметра button отличается. Значения "left" и "right" всегда означают левую и правую кнопки мыши соответственно, независимо от того, переназначены кнопки или нет. Значение "primary" или "main" означает, что будет произведён клик основной кнопкой, независимо от того, переназначены кнопки или нет. Значение "secondary" или "menu" обычно для вызова контекстного меню, независимо от того, переназначены кнопки или нет.

КнопкаСтандартноеПереназначенное
""ЛеваяЛевая
"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