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