Прослушайте всплывающее окно и закройте его с помощью командного файла Windows - PullRequest
0 голосов
/ 02 мая 2018

У меня есть следующий пакетный файл, используемый для закрытия всплывающего окна тайм-аута (с заголовком «Информация»), когда оно отображается, чтобы я не вышел из системы. Однако, если всплывающее окно не отображается, команда 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));

1 Ответ

0 голосов
/ 03 мая 2018

Попробуйте.

@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));
}   
...