windows - 侦听弹出窗口并使用 Windows 批处理文件将其关闭
问题描述
我有以下批处理文件,用于在显示超时弹出窗口(标题为“信息”)时关闭它,这样我就不会退出系统。但是,如果未显示弹出窗口,则 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 (@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));
}
推荐阅读
- c# - 为什么 ExpandoObject 比 Dictionary 慢得多?
- java - 如何设置 IntelliJ IDEA 以便多模块 Maven 项目可以存储为单独的 Git 存储库但“导入”到 IntelliJ 项目中
- node.js - 尝试连接到 node.js 服务器(未托管在 localhost 上)时如何修复 ERR_CERT_COMMON_NAME_INVALID?
- matplotlib - 在终端中下载 mplfinance 后,Matplotlib.finance 没有响应。错误:没有名为“matplotlib.finance”的模块
- wordpress - 在 Wordpress 中的第一条评论之前添加文本
- c - 微过滤器驱动程序在后期操作中附加到用户缓冲区
- ios - 意外的 CFBundle info.list
- powershell - 使用 Powershell 将新文件从外部 HD 复制到桌面
- python - 如何自定义 Django 用户模型?
- javascript - 在 js 中返回 1,2,3 到 n 个数字的总和