我正在从批处理脚本运行一系列应用程序,我想确保打开的程序始终处于焦点.
我们需要确保这一点,因为它是一个实验性设置,我们希望尽量减少麻烦,例如必须将焦点更改为全屏窗口.
我们需要确保这一点,因为它是一个实验性设置,我们希望尽量减少麻烦,例如必须将焦点更改为全屏窗口.
当早期程序退出并且桌面可见并且用户点击桌面上的某个图标时,这个问题已经很少发生,在此之后,正在处理序列中的下一个程序,新窗口不在焦点.
由于我从视图中隐藏了命令窗口,因此问题变得更加频繁.
任何方式强制关注序列中的下一个程序,无论是批处理命令,OS的一些设置(我们在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