Windows 如何使用VBScript指定远程桌面连接的地址?

Windows 如何使用VBScript指定远程桌面连接的地址?,windows,vbscript,automation,remote-desktop,Windows,Vbscript,Automation,Remote Desktop,我想使用VBScript在“远程桌面连接”提示符中插入一个地址。有人特别告诉我,我必须雇用他们来做这件事,但在阅读了文档之后,我没有找到任何可以用于VBScript的东西。我怎样才能继续 PS:正如Helen所指出的,目前不支持VBScript访问UI自动化API。这里实际上不需要GUI自动化。要指定要连接的计算机,只需使用/v命令行参数启动,例如: CreateObject("WScript.Shell").Run "mstsc /v:computername" Run("notepad.e

我想使用VBScript在“远程桌面连接”提示符中插入一个地址。有人特别告诉我,我必须雇用他们来做这件事,但在阅读了文档之后,我没有找到任何可以用于VBScript的东西。我怎样才能继续


PS:正如Helen所指出的,目前不支持VBScript访问UI自动化API。

这里实际上不需要GUI自动化。要指定要连接的计算机,只需使用
/v
命令行参数启动,例如:

CreateObject("WScript.Shell").Run "mstsc /v:computername"
Run("notepad.exe")
WinWait("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]", "", "Edit1", "Hello, world!")
或者,如果您有包含计算机名和连接设置的文件,则可以使用
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脚本主机提供了GUI自动化的工具和方法,但它们不是傻瓜式的

例如,我建议使用GUI自动化工具(这是免费的)。在AutoIt脚本中,您可以使用该函数更改输入字段中的文本,例如:

CreateObject("WScript.Shell").Run "mstsc /v:computername"
Run("notepad.exe")
WinWait("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]", "", "Edit1", "Hello, world!")

您也可以使用AutoIt的AU3Recorder to user actions,这样您就不必手动编写脚本。

谢谢Helen,但是我想实现的不是RDP的任务,而是实际的注入本身(这可能会被推广到不同应用程序的不同窗口)。恐怕我不能使用AutoIt这样的第三方工具。如果是正确的,则可能是VBScript无法使用UI自动化API(这是我想要实现的)。@Minh:该线程是正确的。VBScript无权访问UI自动化API。不过,您可以从PowerShell使用UIA,因为PowerShell基于.NET。