Здравствуйте,
тема вроде бы избитая, но не пойму что происходит... Может кто-то сталкивался. Мне необходимо всего-навсего программно закрыть окно сообщений. Делаю, как доктор прописал:
эффект: окно сообщений закрывается и тут же открывается снова, уже пустое. Но оно мне в принципе не нужно. Что не так и как это победить?
тема вроде бы избитая, но не пойму что происходит... Может кто-то сталкивался. Мне необходимо всего-навсего программно закрыть окно сообщений. Делаю, как доктор прописал:
ОкноСлСообщ = Новый COMОбъект("Wscript.shell");
ОкноСлСообщ.SendKeys("^+{z}");
ОкноСлСообщ.SendKeys("^+{я}");
эффект: окно сообщений закрывается и тут же открывается снова, уже пустое. Но оно мне в принципе не нужно. Что не так и как это победить?
По теме из базы знаний
- Регистрация текста окна сообщений
- Почему в управляемой форме окно сообщений справа.
- Внешняя компонента для управления главным окном 1С:Предприятие
- Интеграции с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода для 1С:УНФ, УТ, КА, ERP
- Отправка и получение сообщений из 1С 7.7 в Telegram
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
В результате выполнения данного кода окно сообщений будет закрыто. Теперь поясним работу этого небольшого куска программы. SendKeys(String) - имитируется нажатие клавиши или последовательности клавиш, указанных в параметре String. В качестве параметра можно указывать как алфавитно-цифровые символы, так и символы специальных клавиш, например "Enter", "Tab", "F1", "Alt", "Shift", "Ctrl" и т.д. Для указания клавиш "Alt", "Shift", "Ctrl" существуют специальные коды:
· "Shift" - +;
· "Ctrl" - ^;
· "Alt" - %.
Если возникнет необходимость передать специальные символы именно как символы, а не команды, нужно заключать их в фигурные скобки, например {+}.
Может так можно нажать Ctrl+Shift+Z ?
Wsh.SendKeys("^+z"); //имитируем нажатие Ctrl+Z
Wsh.SendKeys("^+я"); //для случая, если текущей является русская раскладка клавиатуры
В результате выполнения данного кода окно сообщений будет закрыто. Теперь поясним работу этого небольшого куска программы. SendKeys(String) - имитируется нажатие клавиши или последовательности клавиш, указанных в параметре String. В качестве параметра можно указывать как алфавитно-цифровые символы, так и символы специальных клавиш, например "Enter", "Tab", "F1", "Alt", "Shift", "Ctrl" и т.д. Для указания клавиш "Alt", "Shift", "Ctrl" существуют специальные коды:
· "Shift" - +;
· "Ctrl" - ^;
· "Alt" - %.
Если возникнет необходимость передать специальные символы именно как символы, а не команды, нужно заключать их в фигурные скобки, например {+}.
Может так можно нажать Ctrl+Shift+Z ?
Wsh.SendKeys("^+++z"); //имитируем нажатие Ctrl+Shift+Z
Вобщем, для таких же везунчиков как я, поясняю. У меня в УТ 11.3 ПОЧЕМУ-ТО и закрытие окна сообщений, И ОТКРЫТИЕ, происходит по команде Ctrl+Shift+Z. Соответственно, если пишешь
ОкноСлСообщ.SendKeys("^+{z}");
ОкноСлСообщ.SendKeys("^+{я}");
То 1-ая команда его закрывает, а 2-я тут же открывает. Оставляешь 1 раз - все ОК. Атас.
ОкноСлСообщ.SendKeys("^+{z}");
ОкноСлСообщ.SendKeys("^+{я}");
То 1-ая команда его закрывает, а 2-я тут же открывает. Оставляешь 1 раз - все ОК. Атас.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот