【发布时间】:2018-05-02 15:58:46
【问题描述】:
我有以下批处理文件,用于在显示超时弹出窗口(标题为“信息”)时关闭它,这样我就不会退出系统。但是,如果未显示弹出窗口,则 sendkeys 命令将应用于活动窗口(例如,我正在使用的 Microsoft Word 或 Internet Explorer),这不是我想要的结果。如何侦听弹出窗口并仅在弹出窗口处于活动状态时应用 sendkeys 命令?
@if (@CodeSection == @Batch) @then
@echo off
set SendKeys=CScript //nologo //E:JScript "%~F0"
cls
color 0a
:loop
%SendKeys% "{TAB}{TAB} "
timeout /t 60 /nobreak >nul
goto :loop
@end
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.AppActivate("Information");
WshShell.SendKeys(WScript.Arguments(0));
【问题讨论】:
-
我认为你可以这样做:
if wshShell.AppActivate("Information") = true then..... -
@Squashman 我该把那条线放在哪里?
标签: windows batch-file wsh