Я пытаюсь отправить фальшивый ввод с клавиатуры в приложение, запущенное в сеансе удаленного рабочего стола. я использую:
Byte key = Ord("A");
keybd_event(key, 0, 0, 0); // key goes down
keybd_event(key, 0, KEYEVENTF_KEYUP, 0); // key goes up
Теперь этот код отправляет символ «а» в любое локальное окно, но не отправляет в окно удаленного рабочего стола.
Это означает, что я использую удаленный рабочий стол для подключения к серверу, а затем открываю Блокнот на этом сервере. Если я нажимаю клавиши на клавиатуре вручную, они появляются в окне редактора Блокнота. Но фальшивый ввод с клавиатуры keybd_event не вызывает появления «a» в блокноте.
Как программно отправить ложную клавиатуру в приложение, работающее внутри удаленного рабочего стола, из приложения, запущенного на локальном компьютере?
Угол Нитпикера
В данном конкретном случае я хочу сделать это, потому что я пытаюсь победить время простоя. Но я мог бы попытаться
- выполнение тестов автоматизации пользовательского интерфейса
- UI стресс-тесты
- Испытания на диагностику пользовательского интерфейса
- модульные тесты пользовательского интерфейса
- Тесты ввода данных интерфейса пользователя
- Тесты рисования пользовательского интерфейса
- или тесты устойчивости UI.
Другими словами, мои причины для этого не важны
Примечание: Тайм-аут может быть из-за неактивности удаленного рабочего стола или, возможно, нет. я не знаю, и это не влияет на мой вопрос.