SetCursorPos завершается с ошибкой "параметр неверен" после завершения сеанса rdp
У меня есть приложение, работающее на Win 2008 Server. Он использует Win32 API, и он прекрасно работает, когда я подключился к серверу с RDP. Когда я отключаюсь, каждый вызов SetCursorPos заканчивается этой ошибкой. Координаты (аргументы) одинаковы для обоих случаев. Какие-нибудь мысли?
1 ответ
Если RDP отключен, невозможно ничего сделать с графическим интерфейсом (без экрана, без мыши). Есть несколько обходных путей, хотя.
Оставьте RDP открытым (не в полноэкранном режиме) и переключитесь в другое окно на локальном компьютере (RDP не должен быть свернут). В этом случае ваш сценарий будет работать, но это не полностью автоматизированное решение, потому что выключение локального компьютера (когда вы покидаете офис в конце дня) прервет сеанс RDP (и вашу задачу, связанную с графическим интерфейсом). Он не подходит для длительных тестов GUI.
Вы можете выполнять более сложную автоматизацию в течение длительного времени: один главный сервер может поддерживать соединения VNC (кроссплатформенный аналог RDP) с каждым рабочим компьютером, чтобы задачи, связанные с графическим интерфейсом, выполнялись непрерывно. Но на этом пути есть много подводных камней (особенно в Windows). Вам может потребоваться настроить автоматический вход в систему, установить и настроить (с некоторой магией!) Программное обеспечение VNC-сервера и т. Д...