Функция ControlCommand

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


ControlCommand

Высылает команду элементу.

ControlCommand ( "title", "text", controlID, "command" [, "option" ] )

Параметры

title Заголовок/дескриптор/класс окна. См. заголовки и текст окон (расширенные).
text Текст окна.
controlID Идентификатор элемента управления. Смотрите Элементы управления.
command Команда, высылаемая элементу. Смотрите таблицу ниже.
option [необязательный] Дополнительный параметр необходимый для некоторых команд.

Возвращаемое значение

Действие зависит от команд указанных ниже в таблице. В случае ошибки (например, неверная команда или окно/элемент не найден) устанавливается @error = 1.

"command" [, "option" ] Возвращаемое значение
"IsVisible", "" Возвращает 1, если элемент отображается, иначе 0
"IsEnabled", "" Возвращает 1, если элемент доступен, иначе 0
"ShowDropDown", "" Развернуть список ComboBox
"HideDropDown", "" Свернуть список ComboBox
"AddString", 'строка' Добавляет строку в конец списка ListBox или ComboBox
"DelString", индекс Удаляет строку по индексу в ListBox или ComboBox
"FindString", 'Искомая строка' Возвращает индекс найденной строки в ListBox или ComboBox
"SetCurrentSelection", индекс Выбрать / выделить по индексу в ListBox или ComboBox
"SelectString", 'строка' Выбрать / выделить строку в ListBox или ComboBox
"IsChecked", "" Возвращает 1, если установлена галочка, иначе 0
"Check", "" Устанавливает галочку в Checkbox или радиокнопку
"UnCheck", "" Убирает галочку из Checkbox или радиокнопки
"GetCurrentLine", "" Возвращает номер строки, в котором находится курсор в элементе Edit
"GetCurrentCol", "" Возвращает номер колонки, в котором находится курсор в элементе Edit
"GetCurrentSelection", "" Возвращает название текущего выбранного пункта в ListBox или ComboBox
"GetLineCount", "" Возвращает количество строк в элементе Edit
"GetLine", номер строки Возвращает текст строки элемента Edit, номер которой указан
"GetSelected", "" Возвращает выделенный текст в элементе Edit
"EditPaste", 'строка' Вставляет 'строку' в элемент Edit в позицию курсора
"CurrentTab", "" Возвращает номер текущей вкладки элемента SysTabControl32
"TabRight", "" Выбирает следующую вкладку справа в элементе SysTabControl32
"TabLeft", "" Выбирает следующую вкладку слева в элементе SysTabControl32
"SendCommandID", Command ID Эмулирует сообщение WM_COMMAND. Обычно используется для элемента ToolbarWindow32. Используйте вкладку ToolBar утилиты Au3Info чтобы получить Command ID.

Примечания

Некоторые элементы противодействуют автоматизации, если окно не активно. Используйте функцию WinActivate(), чтобы сделать окно активным, перед использованием ControlCommand().

Некоторые команды, которые работают на нормальных Combo и ListBoxes не работают на элементах "ComboLBox".

См. также

ControlClick, ControlDisable, ControlEnable, ControlFocus, ControlGetPos, ControlGetText, ControlHide, ControlMove, ControlSetText, ControlShow, StatusbarGetText, WinActivate, WinMenuSelectItem, WinGetClassList, ControlGetFocus, ControlListView, ControlSend, ControlTreeView

Пример

; Запуск блокнота
Run("notepad.exe")

; Ожидание 5 секунд до появление окна блокнота
$hWnd = WinWait("[CLASS:Notepad]", "", 5)
If Not $hWnd Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf

; вставляем текст
ControlCommand($hWnd, "", "Edit1", "EditPaste", 'Это пример вставки текста' & @CRLF & 'с переносом на новую строку')
; вставляем текст текущей даты и времени
ControlCommand($hWnd, "", "Edit1", "EditPaste", @CRLF & "дата " & @YEAR & "." & @MON & "." & @MDAY & ", время " & @HOUR & ":" & @MIN & ":" & @SEC)

; показываем количество строк
$iCount = ControlCommand($hWnd, "", "Edit1", "GetLineCount")
MsgBox(4096, 'Сообщение', 'Всего ' & $iCount & ' строки')

; показываем текст второй строки
$sString = ControlCommand($hWnd, "", "Edit1", "GetLine", 2)
MsgBox(4096, 'Текст второй строки', $sString)

; Закрывает блокнот.
WinClose($hWnd)