Описание функции | |
ControlSend | ![]() ![]() |
Высылает строку символов в элемент.
ControlSend('title','text',controlID,'string'[,flag=0])
Параметры
title | Заголовок/дескриптор/класс окна. См. заголовки и текст окон. |
text |
Текст окна. |
controlID |
Идентификатор элемента управления. См. элементы управления. |
string |
Строка символов, высылаемая в элемент. |
flag |
[необязательный] Изменить интерпретацию клавиш: 0 - (по умолчанию), Текст содержит специальные символы, такие как + указывающие на SHIFT и {LEFT} указывающие на "стрелку влево". 1 - клавиши как есть. |
Возвращаемое значение
Успех: | Возвращает 1. |
Ошибка: | Возвращает 0, если окно/элемент не найден. |
Примечания
ControlSend() работает аналогично Send(), но в отличии от последней может отправлять клавиши непосредственно окну/элементу, а не только активному окну.См. также
ControlCommand, Send, ControlSetText, ControlFocus, SendKeyDelay (Опция), SendKeyDownDelay (Опция)
Примеры: | ![]() |
exect=ControlSend('Безымянный~~—~~Блокнот',Null,'Edit1','привет') ;; вставляет текст "привет" в окно "Блокнота" (он должен быть запущен, может быть свёрнут)
exect=$var_h=WinActivate('Безымянный~~—~~Блокнот')||ControlSend(Eval('var_h'),Null,'[CLASS:Edit;INSTANCE:1]','Это~~некоторый~~текст') ;; активирует окно "Блокнота" и вставляет заданный текст (он должен быть запущен)
tcimg=$cm498 pause=500 exect=ControlSend('[CLASS:TBUTTONCHANGEDLG]',Null,'TAltEdit1','+{INSERT}',0) ;; вызвать панель инструментов и ввести текст из буфера обмена в поле "Подсказка" (TC x32)
exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),Null,'Edit1','привет') ;; запустить "Блокнот", дождаться активизации и ввести слово "привет"
exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),Null,'Edit1','закройте~~окно')||WinWaitClose(Eval('var_h'))||MsgBox(4096,Null,'окно~~закрыто') ;; запустить "Блокнот", дождаться закрытие окна пользователем
exect=Run('notepad.exe')||$var_h=WinWaitActive('[CLASS:Notepad]')||ControlSend(Eval('var_h'),Null,'Edit1','сверните~~окно')||WinWaitNotActive(Eval('var_h'))||MsgBox(4096,Null,'окно~~не~~активно') ;; запустить "Блокнот", дождаться когда окно не будет активным
exect=ControlSend('[CLASS:Progman]','''','''','{F5}') ;; обновить рабочий стол