Registro: Shell Open Command - Abrir vários programas

2

Estou tentando registrar um comando shell open via registro e quero abrir mais de um programa, então tentei da seguinte forma:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\myFile\Shell\Open\Command]
@="cmd /k calc & notepad & exit"

calc e notepad são apenas um exemplo para demonstrar isso.

Se eu usá-lo assim, a calculadora e o Bloco de notas serão abertos, mas o prompt de comando ainda estará aberto até que eu feche o Bloco de Notas. Se eu alterá-lo para cmd /k calc & calc & exit , recebo duas instâncias de calculadora e o prompt de comando é fechado como eu quero.

Por que não está funcionando com o Bloco de Notas?

Alguém conhece outra maneira de iniciar vários programas com o comando shell open no registro sem que o prompt de comando permaneça aberto?

    
por patpat 26.09.2018 / 22:32

1 resposta

0

Você pode fazer isso usando o seguinte comando:

cmd /k start calc & start notepad & exit

Portanto, transformando seu arquivo .reg em:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\myFile\Shell\Open\Command]
@="cmd /k start calc & start notepad & exit"

O motivo pelo qual calc funciona bem (no Windows 10, mas não no Windows 7) é que o processo calc.exe inicia um processo diferente ( Calculator.exe ) e sai, permitindo que o comando continue.

Isso não acontece com notepad.exe , o que significa que o comando fica preso esperando que notepad.exe feche.

O comando start é usado para iniciar um processo em uma janela separada para que cmd possa continuar com o próximo passo.

    
por 26.09.2018 / 22:49