Чтобы дать краткую предысторию, чтобы принести вещи в моей текущей позиции/причины моего вопроса:On-Screen Keyboard скрыть и запустить в случае первенствовать использовать функциональные возможности
Первоначально я хотел использовать SendKeys для отправки клавиатуры нажимает на приложение удаленного терминала Citrix Xenapp (эмулятор VT320).
- Это не работает.
После некоторого расследования выяснилось, что это была достаточно распространенная проблема.
В конце концов я нашел работу, которая включала открытие окна «Экранная клавиатура» и отправка mouseclicks с помощью VBA в приложение OSK. Передача ключей будет успешно принята в приложении удаленного терминала.
Это решение является довольно неудобным и не очень практичным решением, поскольку оно зависит от многих факторов, например. разрешение экрана, координаты/текущее положение OSK и т.д.
С учетом вышесказанного, я ищу, чтобы достичь более полного доказательства метод и вот мои мысли:
- Вместо того чтобы использовать имитацию кликами мыши В идеале я хотел бы либо «внедрить» приложение OSK в экземпляр excel, либо указать каждый ключ
- или скрыть приложение и найти способ заставить приложение получать запрошенные ключи VBA.
Я знаю, что Sendkeys имеет свои ограничения, поэтому я также попытался использовать SendInput с помощью Keyb_Event, и это также не сработало.
Для любого наполовину опытного специалиста я, очевидно, начинающий, поэтому, возможно, я страдаю от недостатка знаний.
- Если кто-то может указать мне в правильном направлении для решения этой проблемы, я бы очень признателен!
Большое спасибо.
EDIT
Я посмотрел на это немного больше, и нашел этот пост:
Finding the class name of the On-Screen Keyboard?
Какой бы предположить, что, если я знаю, что класс на экранной клавиатуре, я может использовать свои команды в excel VBA?
- Я попытался использовать код в вопросе, но не смог заставить его работать.
Так что, надеюсь, мой вопрос немного легче ответить?
Могу ли я использовать имя класса экранной клавиатуры app/объявить функцию API, которая позволит мне отправлять моделируемые ключевые функции, как если бы это приложение OSK было нажато мышью?
Надеюсь, кто-то может помочь !!
Спасибо за ваш ответ! - Нет контроля над средой citrix, поэтому я думаю, что ключом к вашему высокому методу целостности. Спасибо. – Barkered