VBS的SendKeys只对特定窗口

VBS的SendKeys只对特定窗口

问题描述:

我有这样的VBScriptVBS的SendKeys只对特定窗口

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.SendKeys "KEYS TO SEND" 

该代码将发送键招Ative顶部窗口

如何发送击键只对特定的窗口?

+0

使用'WshShell.AppActivate“您想要的窗口”' – GTAVLover

+0

我需要对cmd执行此操作,我该怎么办? –

+0

在脚本中使用上面的语句! – GTAVLover

WSH的预期方式是首先按照其他人的说明激活窗口WshShell.AppActivate

根据WinAPI中的How do I send key strokes to a window without having to activate it using Windows API?,,您不能可靠地将击键发送到除活动窗口之外的任何其他按键。

如果你打算尝试反正(不抱怨如果出问题时),按照该链接的问题,您需要发送一系列消息的窗口SendMessage

WSH没有内置的方法来调用WinAPI。因此,可以使用其他标准库提供对WinAPI和/或其包装的访问的语言,或使用第三方COM对象(如DynamicWrapperX)。


作为便笺,您可能希望考虑一种专用的UI自动化语言,如AutoIt或Autohotkey。如果您仍然需要使用WSH出于某种原因,则可以通过COM接口调用前者。