我正在通过批处理脚本运行一系列应用程序,我想确保打开的程序始终处于焦点位置。
我们需要确保这一点,因为这是一个实验性设置,我们希望尽量减少必须将焦点更改为全屏窗口等麻烦。
当前面的程序退出时,这个问题很少发生,有一段时间桌面是可见的,用户点击桌面上的某个图标,紧接着,正在处理序列中的下一个程序,新窗口不在焦点上。
由于我隐藏了命令窗口,所以问题变得更加频繁。
任何强制关注序列中下一个程序的方法,无论是批处理命令、操作系统的一些设置(我们在 Win XP 上)还是帮助应用程序都可能有所帮助。
最佳答案
如果你想关注另一个程序,你可以这样做。
call focus WindowTitle
exit /b
:focus
setlocal EnableDelayedExpansion
if ["%~1"] equ [""] (
echo Please give the window's title.
exit /b
)
set pr=%~1
set pr=!pr:"=!
echo CreateObject("wscript.shell").appactivate "!pr!" > "%tmp%\focus.vbs"
call "%tmp%\focus.vbs"
del "%tmp%\focus.vbs"
goto :eof
endlocal
我正在使用 vbscript 来聚焦应用程序。 您需要传递窗口的标题,不是窗口的名称 (whatever.bat)。 为确保您获得正确的窗口焦点,您可以设置其标题。 示例:
title WindowTitle
关于windows - 聚焦一个批量启动的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8266840/