Me di cuenta cuando presiono Ctrl+ Alt+ Dely hago clic en Administrador de tareas, Windows llama taskmgr.exe /3
como el comando. Varios sitios web afirman que el Administrador de tareas no tiene argumentos de línea de comandos.
¿Por qué Windows adjunta este argumento?
windows-7
command-line
task-manager
command-line-arguments
Martin Braun
fuente
fuente
LaunchTM.exe
en%windir%\System32
lo que hace aún más confuso ya que no pude averiguar, basándose en mi búsqueda de google, así, su propósito de existencia y lo que es bueno en general.LaunchTM.exe
en Windows 7, creo que está en Windows 8. ¿Por qué no crear una nueva pregunta sobre esto aquí en superusuario? ;)Respuestas:
Análisis
Aparentemente no es un comportamiento documentado. Hice algunas pruebas y noté mis hallazgos:
Haga clic con el botón derecho en la barra de tareas y haga clic en Iniciar el Administrador de tareas .
Presione Ctrl+ Shift+ Esc.
Presione Ctrl+ Alt+ Dely haga clic en Iniciar el Administrador de tareas .
Inicie un Administrador de tareas no elevado y haga clic en el botón Mostrar procesos de todos los usuarios .
Escriba o pegue
taskmgr.exe
en la barra de búsqueda del menú Inicio y presione Enter; presione Win+ R, escriba o peguetaskmgr.exe
en el cuadro de texto y presione Enter; navegue a laSystem32
carpeta y haga doble clic en eltaskmgr.exe
ejecutable; inicie la utilidad de Configuración del sistema (msconfig.exe
), haga clic en la pestaña Herramientas , seleccione el elemento Administrador de tareas de la lista y haga clic en Iniciar .Abra un símbolo del sistema, escriba o pegue
taskmgr.exe
y presione Enter.Observaciones
Las cosas funcionaron de manera similar durante la fase de desarrollo de Windows 8, hasta la Vista previa de lanzamiento. Windows Vista y sistemas operativos anteriores no se ven afectados.
El ejecutable importa un par de funciones API (a saber,
GetCommandLineW
yCommandLineToArgvW
) que se utilizan para recuperar y analizar argumentos de línea de comandos.El inicio manual del programa utilizando cualquiera de los argumentos anteriores no parece tener ningún efecto notable.
Si tuviera que hacer una suposición educada, diría que el parámetro numérico fue un indicador interno de inicio, posiblemente usado para propósitos de depuración y luego dejado atrás.
fuente
taskmgr /anything /startup
funciona, así/startup
como el segundo argumento.Algunas notas
El hecho de que se envíe un comando no significa que un programa acepte esos argumentos, ni ninguno.
Por ejemplo:
Llamé a taskmanager con mi propio comando impar y el comportamiento no cambió:
Desde el punto de vista de la programación básica, cualquier aplicación tendrá un método principal de algún tipo en el que se pueden pasar argumentos . Por ejemplo, una aplicación básica de Windows Form C # se parece a:
Si paso algunos argumentos divertidos, no pasa nada con la aplicación, pero Process Explorer los capturará y mostrará.
Sin embargo, si decido explícitamente manejarlos, obtendrá la interacción del comando.
Y todo lo que tuve que hacer fue cambiar ligeramente el punto de entrada del formulario:
Ahora, volviendo a su pregunta sobre por qué está allí:
Si accede a taskmgr.exe desde el método ctrl+ alt+ del, verá el argumento de comando "/ 3". Además, si usa ctrl+ shift+ esc, pasa / 2 y si hace clic derecho en la barra de tareas y hace clic en "Iniciar el Administrador de tareas", el modificador que se muestra es / 4.
Todo esto me lleva a suponer que tal vez hay algo que Windows necesita saber, o tal vez casi se implementó para el Administrador de tareas que no conocemos. Por ejemplo, la seguridad en Windows podría querer saber si se usó ctrl+ alt+ delpara llamar a taskmgr.exe y no un script o usuario. Una vez más, la pura especulación, pero los hilos como este me hacen pensar que podría haber sido al menos un pensamiento.
Para el infame tl; dr
Para saber por qué Windows pasa estos comandos, es probable que necesitemos un miembro del equipo de desarrollo de Microsoft o el código fuente. Puede que no haya una mejor respuesta.
fuente