【问题标题】:Listen for pop-up and close it using windows batch file侦听弹出窗口并使用 Windows 批处理文件将其关闭
【发布时间】: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


【解决方案1】:

试试这个。

@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");
if (WshShell.AppActivate("Information")) {
      WshShell.SendKeys(WScript.Arguments(0));
}   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2014-07-23
    相关资源
    最近更新 更多