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


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'ПраваяЛевая

Функцию можно подключить через команду exect
Для передачи пустой строки можно воспользоваться ключевым словом Null
Для передачи значения по умолчанию можно воспользоваться ключевым словом Default

См. также

ControlCommand, MouseClick, WinActivate

Примеры:
 Как создать кнопку?


exect=ControlClick('Калькулятор',Null,'[ID:139]') ;; эмулировать нажатие мыши на указанном элементе запущенного калькулятора (на Win10 не работает)

exect=Run('calc')||Sleep(1000)||ControlClick('Калькулятор',Null,'[ID:139]') ;; запустить калькулятор и эмулировать нажатие мыши на указанном элементе (на Win10 не работает)

start=%%COMMANDER_PATH%%\PK\PK.exe exect=$var_h=WinWaitActive('[CLASS:ThunderRT6FormDC]')||ControlSetText(Eval('var_h'),Null,'ThunderRT6TextBox1','пароль')||ControlClick(Eval('var_h'),Null,'ThunderRT6CommandButton3') ;; запуск программы, ожидание открытия окна и ввод текста "пароль" в заданное поле и нажатие на кнопку OK


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru