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:
private void Form1_Load(object sender, EventArgs e)
{
}
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:
private void Form1_Load(object sender, EventArgs e)
{
string arguments = Environment.GetCommandLineArgs()[1];
this.Text = arguments;
}
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.
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.