2013-10-09 2 views
0

Я пытаюсь запустить программу, и я должен ввести логин и пароль в нее.SendKeys.SendWait разрешает отклонение ошибки при закрытии RDP

Для имитации нажатия клавиш Я использую следующий код:

System.Windows.Forms.SendKeys.SendWait(login + "\t" + password + "\n\r"); 

Unfortuantely, я должен сделать все эти действия на сервере с Windows Server 2008 R2 x64 ОС, и я должен использовать RDP. Когда соединение RDP активно, все в порядке, но если окно RDP закрыто или сведено к минимуму, SendWait вызывает исключение с сообщением «разрешено разрешение».

Как я могу эмулировать нажатия клавиш, когда RDP отключен?

Спасибо.

+1

Это звучит справедливо, для отправки ключей нет рабочего стола. –

ответ

0

Вы можете использовать метод, описанный в this по David Johnson

Создайте пакетный файл с помощью следующих команд и сохранить его на рабочий стол рабочей станции вы хотите сохранить разблокировано: Я назвал свой файл Logoff.bat

START C:\Windows\System32\tscon.exe 0 /dest:console 
START C:\Windows\System32\tscon.exe 1 /dest:console 
START C:\Windows\System32\tscon.exe 2 /dest:console 
START C:\Windows\System32\tscon.exe 2 /dest:console 
START C:\Windows\System32\tscon.exe 3 /dest:console 
START C:\Windows\System32\tscon.exe 4 /dest:console 
START C:\Windows\System32\tscon.exe 5 /dest:console 

Tscon.exe входит в стандартную комплектацию с установкой окон и специально создан для того, чтобы оставить заблокированную ранее блокированную консоль. См. Эту ссылку: http://support.microsoft.com/kb/302801

При следующем входе на рабочую станцию ​​с удаленным рабочим столом не выходите обычным способом, а запускайте пакетный файл - в моем случае «Logoff.bat» Это приведет к прекращению работы вашего удаленного рабочего стола подключитесь и выйдите из системы, но затем продолжите в незаблокированном состоянии для запуска любых сценариев, как если бы кто-то действительно вошёл в систему.

Смежные вопросы