2014-07-07 4 views
0

Я открыл сеанс RDP с помощью AutoIt. Вот код:Приложения запуска сеанса RDP

$host = "" ; <---- IP 
$hGUI = GUICreate("Terminal Serveur", 952, 675, -1, -1, $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN) 
$oRDP = ObjCreate("MsTscAx.MsTscAx.2") 
$oRDP_Ctrl = GUICtrlCreateObj($oRDP, 64, 44, 800, 600) 

GUICtrlSetResizing(-1, $GUI_DOCKALL) 
GUICtrlSetStyle($oRDP_Ctrl , $WS_VISIBLE) 

$oRDP.DesktopWidth = 800 
$oRDP.DesktopHeight = 600 
$oRDP.Fullscreen = False 
$oRDP.ColorDepth = 16 
$oRDP.AdvancedSettings3.SmartSizing = True 
$oRDP.Server = $host 
$oRDP.UserName = "" ; <--- Username 
$oRDP.Domain = "" 
$oRDP.AdvancedSettings2.ClearTextPassword = "" ; <--- Password 
$oRDP.ConnectingText = "Connecting to " & $host 
$oRDP.DisconnectedText = "Disconnected from " & $host 
$oRDP.StartConnected = True 
$oRDP.Connect() 
$oShel = ObjCreate("shell.application") 
$oShel_Ctrl = GUICtrlCreateObj($oShel, 64, 44, 800, 600) 
GUICtrlSetStyle($oShel_Ctrl , $WS_VISIBLE) 
GUISetState(@SW_SHOW, $hGUI) 

Send ("#r") ; !! 

While 1 
    $nMsg = GUIGetMsg() 
    Switch $nMsg 
     Case $GUI_EVENT_CLOSE 
      $oRDP.Disconnect() 
      Exit 
    EndSwitch 
WEnd 

Теперь я хочу запустить приложение в сеансе RDP. Я попробовал «Отправить (#r)», чтобы отправить путь с помощью функции SendKeys, но эта команда выполняется на моем компьютере, а не на удаленном компьютере.

Как сделать пожалуйста?

ответ

0

Отправить alt + home. Это откроет поиск окон в сеансе rdp, который затем вы можете отправить его, например. отправить ("блокнота") посыла ({ввести})

+0

Как вы можете сосредоточиться на сессии rdp? – user3797832

+0

Сделайте окно подключения к удаленному рабочему столу активным окном, а сеанс rdp получит команды отправки, просто начните с alt home. – Glen

+0

Я не могу сделать это дома, потому что у меня нет на это внимания. Alt home выполните поиск окон на моем компьютере, а не на рабочем столе – user3797832

0

Update:

Намного проще альтернатива:

  • Изменение настроек подключения к удаленному рабочему (не в коде управления , но в обычном режиме shorcut. Но, похоже, это можно сделать в коде AutoIt с настройкой клавиатуры (keyboardhook setting).
  • Ищите кнопку «Параметры» в окне при запуске удаленного рабочего стола.
  • На вкладке «Локальные ресурсы» выберите комбинацию клавиш Windows, только в полноэкранном режиме.
  • Изменить эту строку в коде:

    $ oRDP.Fullscreen = True

  • Включите паузу, чтобы обеспечить контроль был загружен

    Sleep (5000)

    Отправить ("#r")

Предыдущий ответ:

Пусть мой предложить обходной путь не очень «элегантный», но должно работать (проверено в порядке):

В удаленном рабочем столе сделать shorcut в Windows Virtual Keyword (экранная клавиатура или OSK)

  • Найти положение значка shorcut

  • в коде отправить двойной щелчок на этой позиции, чтобы начать экранную клавиатуру

  • Затем отправить щелчки на позиции требуемых ключей

Что-то вроде этого:

Sleep(5000) 
MouseClick("left",512,191,2) ;start virtual keyword 
Sleep(1000) 
MouseClick("left",553,807,1) ;click 
Sleep(100) 
MouseClick("left",633,740,1) 
Sleep(1000) 
Send("notepad") 
Sleep(1000) 
Send("{ENTER}") 

(За исключением Примечание: Для любого исполняемого файла с ярлыка на удаленном рабочем столе просто послать двойной щелчок, без потребность в виртуальной клавиатуре)

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