HelpF.pro

Имитация (программное) нажатия Клавиш

В системе "1С:Предприятие" часто возникает ситуация, когда нужно закрыть окно сообщений, появляющееся при вызове метода Сообщить. Стандартно это окно закрывается при нажатии комбинации клавиш <Ctrl>+<Shift>+<Z>, но можно сделать это и программно.
Код 1C v 8.х
 //В ходе выполнения некоторого кода открывается окно сообщений 
Сообщить("Сегодня: " +ТекущаяДата());

//Выполнение другой части кода

//Теперь нам необходимо закрыть окно сообщений
Wsh = Новый СОМОбъект("Wscript.shell");
//Wsh - переменная. Можно было дать любое другое имя, например Окно
Wsh.SendKeys("^+z"); //имитируем нажатие Ctrl+Z
Wsh.SendKeys("^+я"); //для случая, если текущей является русская раскладка клавиатуры


В результате выполнения данного кода окно сообщений будет закрыто. Теперь поясним работу этого небольшого куска программы. SendKeys(String) - имитируется нажатие клавиши или последовательности клавиш, указанных в параметре String. В качестве параметра можно указывать как алфавитно-цифровые символы, так и символы специальных клавиш, например "Enter", "Tab", "F1", "Alt", "Shift", "Ctrl" и т.д. Для указания клавиш "Alt", "Shift", "Ctrl" существуют специальные коды:
· "Shift" - +;
· "Ctrl" - ^;
· "Alt" - %.
Если возникнет необходимость передать специальные символы именно как символы, а не команды, нужно заключать их в фигурные скобки, например {+}.
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1006.html