keybd_event () вызывает не отправку на удаленный рабочий стол

Я пытаюсь использовать keybd_event () для нажатия определенных клавиш в приложении удаленного рабочего стола. Для простейшего теста я просто открываю блокнот в удаленном сеансе и выполняю вызов keybd_event () на локальном компьютере, а текущий пользователь фокусируется на блокноте.

К сожалению, похоже, что он не отправляет какие-либо данные на удаленный рабочий стол.

Если я запускаю приложение на локальном компьютере с локальным экземпляром блокнота в фокусе, оно печатает именно то, что я хочу напечатать без проблем.

У кого-нибудь есть идеи, почему это не сработает? Очевидно, я могу ввести вручную в сеансе удаленного рабочего стола.

Спасибо

2

Решение

Любая программа удаленного рабочего стола является шлюзом для подключения к удаленной системе, она является посредником. Отправка любого сообщения клавиатуры в эту программу любым способом (например, keybd_event, SendInput, PostMessage и т. д.) будут молча поглощены программой RDP. Он просто не потребляет его и не передает его подключенному ресурсу.

Скорее всего (в чем я не уверен), программа может иметь документированные API для отправки ей некоторых сообщений, таких как закрытый сеанс, открытый сеанс или сеанс отправки сообщения в подключенное устройство. Используя данный API (функция, COM-интерфейсы), вы может отправить некоторый вклад в подключенный ресурс.

1

Другие решения


По вопросам рекламы [email protected]