我有一个Windows应用程序,在启动时使用“任务计划程序”启动时,该应用程序没有焦点(即,在单击应用程序使其成为焦点之前,我无法在应用程序中执行键盘命令)。焦点位于桌面上。应用程序通过任务计划程序启动,因为它需要最高权限才能启动(绕过UAC提示符)。似乎只有第三方应用程序支持切换到该应用程序。我曾尝试用批处理文件启动命令来切换焦点,这有一个延迟启动,但我还没有找到任何Windows批处理文件命令可以切换焦点。
balp4ylt1#
可以使用Windows脚本切换到前台。为此,需要提供一个文件,该文件也将由批处理命令创建。脚本处理后,该文件将被删除。命令如下:
echo new ActiveXObject("WScript.Shell").AppActivate("Firefox"); > tmp.js cscript //nologo tmp.js & del tmp.js
zfycwa2u2#
@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"); }
2条答案
按热度按时间balp4ylt1#
可以使用Windows脚本切换到前台。为此,需要提供一个文件,该文件也将由批处理命令创建。脚本处理后,该文件将被删除。命令如下:
zfycwa2u2#