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

时间:2018-11-14 11:44:57

标签: windows batch-file windows-10

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

应用程序是通过任务计划程序启动的,因为它需要启动最高特权(绕过UAC提示符)。

似乎只有可用的第三方应用程序支持此功能以切换到应用程序。我尝试使用批处理文件启动命令来切换焦点,但是启动延迟了,但是我找不到任何可以切换焦点的Windows批处理文件命令。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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