Необходимо отправить нажатия клавиш для приложения DOS из Windows при простое выхода
Я поддерживаю устаревший Paradox 4.5 для системы DOS. Наши пользователи подключаются к одному терминальному серверу (Windows Server 2003) для запуска Paradox. Нам часто нужно загружать всех из системы. Наш администратор Paradox подключится к каждому сеансу удаленного рабочего стола, выйдет из системы из Paradox и выйдет из Windows.
Я хотел бы автоматизировать этот процесс.
Закрытие окна DOS без закрытия парадокса может привести к повреждению данных. Если я могу отправить нажатия клавиш в приложение, я могу отключить его изящно.
1) Как я могу отправить нажатия клавиш в существующее окно DOS из Windows? Я видел примеры vbscript и sendkeys, но они, кажется, используются для управления окнами, когда дескриптор окна доступен. Мне нужно контролировать окно, которое уже открыто.
2) Можно ли автоматически выполнить отправку нажатия клавиши при выходе из режима ожидания на удаленном рабочем столе?
1 ответ
Не проверял это (пока), но вот идея.
1) По-видимому, можно использовать любую из функций SendKeys для передачи нажатий клавиш в окно, которое в данный момент находится в фокусе через Powershell.
Чтобы привлечь внимание к выбранному окну, этот пост, похоже, содержит фрагмент Powershell, если вы каким-то образом можете идентифицировать процесс окна Paradox. Если вы не можете этого сделать, я не могу представить, как это все равно будет автоматизировано, если вы не найдете какой-то обходной путь, специфичный для работы Paradox.
2) Должна быть возможность прикрепить задачу к соответствующему идентификатору события, который запускает ваш скрипт. Пока сценарий обрабатывается перед выходом проводника и всех его дочерних окон (вам придется проверить это), я думаю, он может работать.