簡體   English   中英

如何使用VBScript指定遠程桌面連接的地址?

[英]How to specify address for Remote Desktop Connection using VBScript?

我想使用VBScript將地址注入“遠程桌面連接”提示符。 我被特別告知我必須使用Windows Automation API來做到這一點,但在閱讀文檔之后,我沒有找到任何可以用於VBScript的東西。 我該怎么辦?

PS:正如Helen和此主題所指出的,目前不支持VBScript訪問UI Automation API。

您實際上並不需要GUI自動化。 要指定要連接的計算機,只需使用/v命令行參數啟動mstsc ,例如:

CreateObject("WScript.Shell").Run "mstsc /v:computername"

或者,如果您有一個包含計算機名稱和連接設置的.rdp文件 ,則可以使用mstsc啟動此文件:

CreateObject("WScript.Shell").Run "mstsc E:\ComputerName.rdp"

如果需要,您可以動態生成.rdp文件,如下所示:

Dim oFSO, oShell, strFileName, strComputerName

strComputerName = "computername"
strFileName = "E:\ComputerName.rdp"

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oStream = oFSO.CreateTextFile(strFileName, True)
oStream.WriteLine "full address:s:" + strComputerName
' TODO: Write other settings
oStream.Close

Set oShell = CreateObject("WScript.Shell")
oShell.Run "mstsc """ + strFileName + """"

回復評論:

但是我想要實現的不是RDP的任務,而是實際的注入本身(這可以推廣到不同應用的不同窗口)。

Windows Script Host提供了用於GUI自動化的AppActivateSendKeys方法,但它們並非萬無一失。

我建議使用GUI自動化工具,例如AutoIt (免費)。 在AutoIt腳本中,您可以使用ControlSetText函數更改輸入字段中的文本,例如:

Run("notepad.exe")
WinWait("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]", "", "Edit1", "Hello, world!")

您還可以使用AutoIt的AU3Recorder 記錄用戶操作,這樣您就不必手動編寫腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM