繁体   English   中英

使用批处理文件/CMD 切换窗口焦点

[英]Switch Window Focus using a Batch File/CMD

我有一个 Windows 应用程序,在启动时使用 Task Scheduler 启动时没有焦点(即,在单击应用程序进入焦点之前,我无法在应用程序中执行键盘命令)。 焦点在桌面上。

该应用程序通过任务计划程序启动,因为它需要最高权限才能启动(绕过 UAC 提示)。

似乎只有第三方应用程序支持切换到应用程序。 我试过用批处理文件启动一个命令来切换焦点,它有一个延迟启动,但我一直无法找到任何可以切换焦点的 Windows 批处理文件命令。

可以使用 Windows 脚本切换到前台。 为此,还需要提供一个由批处理命令创建的文件。 处理完脚本后,该文件将被删除。 命令如下:

echo new ActiveXObject("WScript.Shell").AppActivate("Firefox"); > tmp.js
cscript //nologo tmp.js & del tmp.js

 @if (@X)==(@Y) @end /* JScript comment @echo off setlocal for /f "tokens=2" %%i in ('tasklist /FI "IMAGENAME eq VOR.exe" ^| find /I "VOR.exe"') do set pid=%%i if "%pid%" == "" ( %localappdata%\\VOR\\VOR.exe ) else ( cscript //E:JScript //nologo "%~f0" "%~nx0" "%pid%" ) exit %errorlevel% endlocal @if (@X)==(@Y) @end JScript comment */ var sh=new ActiveXObject("WScript.Shell"); if (sh.AppActivate(WScript.Arguments.Item(1)) == 0) { sh.SendKeys("% r"); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM