C# InputSimulator не работает, когда на сервере нет активных пользователей - PullRequest
0 голосов
/ 28 марта 2020

У меня есть консольное приложение, которое автоматизирует Illustrator, щелкая меню, выполняя команды клавиатуры. Я использую InputSimulator с кодом ниже:

new InputSimulator().Keyboard.KeyPress(VirtualKeyCode.MENU, VirtualKeyCode.VK_F, VirtualKeyCode.VK_R, VirtualKeyCode.VK_1);

Но я должен сначала установить иллюстратор в качестве переднего плана перед выполнением команд клавиатуры InputSimulator.

Illustrator и консольное приложение развертываются на windows сервер.

Все работает, кроме случаев, когда я не вошел на сервер. Симулятор ввода завершается с ошибкой:

Некоторые смоделированные команды ввода не были успешно отправлены. Наиболее распространенная причина этого - функции безопасности Windows, включая изоляцию конфиденциальности пользовательского интерфейса (UIPI). Ваше приложение может отправлять команды только приложениям того же или более низкого уровня. Точно так же некоторые команды ограничены приложениями Accessibility / UIAutomation. Обратитесь к домашней странице проекта и образцам кода для получения дополнительной информации.

Но когда я вернулся на сервер, клавиатурная команда успешно отправляется.

Я ценю ваше Помогите. Спасибо!

...