¿Cómo hacer que un archivo por lotes sea un conmutador de tareas?

¿Cómo hacer que un archivo por lotes sea un conmutador de tareas?

¿Cómo hacer que un archivo por lotes sea un conmutador de tareas?

Con archivos por lotes de Windows XP y Windows 7...
El archivo por lotes es:

cls  
@echo off  
echo 1  
start /normal c:\windows\system32\taskmgr.exe  
echo 2  
pause 

El problema es que el foco permanece en el Administrador de tareas.
El problema es que la atención no se centra en la ventana del lote.

¿Cómo volver a centrar la atención en la ventana del archivo por lotes?
¿Cómo cambiar tareas a lotes?

¿Cómo enfocarse en la ventana del archivo por lotes usando comandos de archivos por lotes y sin usar el mouse para hacer clic en la ventana del archivo por lotes y sin presionar Alt-Tab en el teclado?

Respuesta1

Iniciar el programa minimizado

Para evitar que un programa iniciado desde un archivo por lotes (o el símbolo del sistema) reciba el foco, inícielo minimizado:

start /min /normal c:\windows\system32\taskmgr.exe

Esto abre el programa, pero debido a que la ventana está minimizada, no puede enfocarse.


EDITAR:Iniciar el Administrador de tareas es un caso especial. Independientemente de cómo inicie este programa,siempretoma el foco del sistema.

En este caso, no hay nada que puedas hacer. Simplemente no es posible recuperar el foco del sistema desde un archivo por lotes. (Recuerde, las secuencias de comandos por lotes provienen de los días en que no había ninguna ventana de aplicación).

Respuesta2

Puedes simplemente crear unvariable de marca de tiempo únicaen el script por lotes y use esa variable para establecerla como el valor de sutítulopor cada ejecución del script.

Luego puedes usaractivar aplicaciónpasándole el valor de la ventana cmdtítulopara activar, cree un VBScript dinámico con el valor y luego ejecute ese script concscriptpara activarlo.

Solo usé ping -n 06 127.0.0.1 > nuluna pausa de 5 segundos para esperar después del tiempo.Administrador de tareasse inicia antes de que la ventana titulada script por lotes real sea activada porcscriptejecución.

Guión por lotes

cls 

SET t=%~n0_%date:~10%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
SET t=%t: =0%
TITLE %t%

@echo off  
echo 1  
start /normal c:\windows\system32\taskmgr.exe  
echo 2  

:VBSDynamicBuild
SET TempVBSFile=%temp%\~tmpSendKeysTemp.vbs
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO Set objShell = CreateObject("WScript.Shell") >>"%TempVBSFile%"
ECHO objShell.AppActivate "%t%"                   >>"%TempVBSFile%"
ping -n 06 127.0.0.1 > nul
CSCRIPT //nologo "%TempVBSFile%"

pause 

Recursos adicionales

Respuesta3

cls
@echo off

echo 1
start /normal c:\windows\system32\taskmgr.exe

REM Wait for Task Manager to open
    CALL :Wait 1

REM Alt+Tab back to cmd window
    CALL :AltTab

echo 2
pause

GOTO :eof



REM Subroutines:
:wait
    @CHOICE /D Y /T:%1% > NUL
    EXIT /B

:AltTab
    (
        ECHO.CreateObject^("WScript.Shell"^).SendKeys "%%{TAB}"
    )>%tmp%\tmp.vbs
    CALL %tmp%\tmp.vbs
    DEL %tmp%\tmp.vbs
    EXIT /B

Esta voluntad:

  • Eco 1
  • Abrir Administrador de tareas
  • Espere a que se inicie el Administrador de tareas (1s)
  • Cree, ejecute y elimine un script VBS con Alt+Tab y vuelva a la ventana cmd
  • eco 2
  • Pausa

Respuesta4

En un archivo por lotes, esto funcionó, se probó correctamente varias veces.
Reinicié la computadora y aún así la prueba estuvo bien.

C:\WINDOWS\nircmd.exe enviar tecla presionar rwin+inicio

NirCmd v2.81 (versión de consola)
http://www.nirsoft.net

El comando por lotes anterior cambia el foco del sistema
desde el "Administrador de tareas de Windows"
y coloca el foco del sistema
en la ventana del archivo por lotes.

Antecedentes:
se ejecutó un lote que
llama a taskmgr.exe y
el lote ejecuta el comando anterior y
ahora al presionar Ctrl-C se detiene el lote.

No es necesario hacer clic con el mouse en la ventana por lotes.
No es necesario presionar Alt-Tab para acceder a la ventana del lote.

El comando de archivo por lotes de una línea anterior cambia el enfoque del sistema.

Desventaja nircmd.exe es un software de terceros
en comparación con una solución lista para usar.

Referencia
Haga que un archivo por lotes minimice todas las ventanas excepto él mismo O active algo que pueda

--

información relacionada