v8.x: Имитация (программное) нажатия Клавиш - 1С-ИнтеГрация

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



 

В системе "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" - %.
 

Если возникнет необходимость передать специальные символы именно как символы, а не команды, нужно заключать их в фигурные скобки, например {+}.

 

 



Назад в раздел