VBS的SendKeys只对特定窗口
问题描述:
我有这样的VBScriptVBS的SendKeys只对特定窗口
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "KEYS TO SEND"
该代码将发送键招Ative顶部窗口
如何发送击键只对特定的窗口?
答
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接口调用前者。
使用'WshShell.AppActivate“您想要的窗口”' – GTAVLover
我需要对cmd执行此操作,我该怎么办? –
在脚本中使用上面的语句! – GTAVLover