Como o diálogo de execução do Windows localiza os executáveis?

16

Quando eu insiro "firefox" no diálogo de execução do Windows (ou seja, o diálogo que aparece quando você bate windows + R ), o firefox será iniciado.

No entanto, "firefox.exe" não está no meu %path% porque quando digito "firefox" em cmd.exe , recebo

'firefox' is not recognized as an internal or external command, operable program or batch file.

Portanto, aparentemente, um executável não precisa ser encontrado no windows %path% para que possa ser descoberto pelo diálogo de execução. Como isso funciona?

    
por wcoenen 24.12.2009 / 18:21

2 respostas

25

Aparentemente, a caixa de diálogo de execução verifica não apenas a variável de ambiente% path%, mas também a chave de registro "App Path" . De um artigo techrepublic sobre o diálogo de execução :

You can launch some third-party applications by typing the name of the executable file in the Open text box and clicking OK—even though the paths to these applications don’t appear in the path environment variable. The reason that this is possible is because the installation procedure for some applications adds the executable file's path to a special registry key called App Paths.

A localização relevante no registro é HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths . Você pode adicionar seus próprios "caminhos de aplicativos" com o regedit.

    
por 24.12.2009 / 22:00
2

A caixa de diálogo Executar em versões mais recentes do Windows também executará atalhos encontrados no menu Iniciar. Não tenho certeza de quando isso começou a funcionar ... pode voltar até o Windows 95, embora eu não pense assim.

Editar: esta resposta está errada. A resposta correta é a chave de registro do App Paths, conforme respondido acima.

    
por 24.12.2009 / 18:24