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

9q78igpj  于 2022-12-19  发布在  Windows
关注(0)|答案(2)|浏览(460)

我有一个Windows应用程序,在启动时使用“任务计划程序”启动时,该应用程序没有焦点(即,在单击应用程序使其成为焦点之前,我无法在应用程序中执行键盘命令)。焦点位于桌面上。
应用程序通过任务计划程序启动,因为它需要最高权限才能启动(绕过UAC提示符)。
似乎只有第三方应用程序支持切换到该应用程序。我曾尝试用批处理文件启动命令来切换焦点,这有一个延迟启动,但我还没有找到任何Windows批处理文件命令可以切换焦点。

balp4ylt

balp4ylt1#

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

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

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"); 
    }

相关问题