Onde o comando Windows Run está localizado?

5

Onde a caixa de diálogo Windows Run está localizada? Eu abri e examinei o gerenciador de tarefas, mas ele só aparece como File Explorer. Eu tentei mostrar os argumentos de linha de comando, mas mostra apenas C:\WINDOWS\Explorer.EXE em oposição a C:\WINDOWS\explorer.exe . Eu tentei procurar por run.exe e tal, mas encontrou nada .

Tenho a sensação de que podem ser apenas argumentos de linha de comando passados para o explorer.exe, mas não posso ter certeza. É o seu próprio arquivo? poderia ser uma parte do explorer.exe?

Foi sugerido que esta é uma pergunta duplicada, então vou explicar que não é: não estou perguntando como o diálogo localiza executáveis, estou perguntando onde é o próprio Run.

    
por Garhoogin 06.01.2017 / 01:43

3 respostas

9

Onde a caixa de diálogo Windows Run está localizada?

A caixa de diálogo Executar do Windows é um recurso localizado em c:\windows\system32\shell32.dll .

A caixa de diálogo pode ser aberta executando o seguinte comando:

c:\windows\system32\rundll32.exe shell32.dll,#61

Isso funciona em Windows de 32 e 64 bits.

    
por 06.01.2017 / 02:16
4

Não há tal arquivo. É literalmente apenas uma sub-rotina dentro de algum outro executável ou biblioteca (provavelmente, explorer.exe ou, mais provavelmente, shell32.dll ).

Uma janela que você pode ver não é igual a um executável. Desenhar uma janela é apenas chamar funções. Não há razão para supor que exista um único .exe para cada janela que você vê, ou que você pode passar opções específicas para um executável para mostrar uma janela específica!

Com a caixa de diálogo "executar", você pode realmente estar com sorte - eu acho que é provavelmente um símbolo exportado (leia-se: uma função externamente solicitada) de shell32.dll , e você pode chamá-lo usando algo como

rundll32.exe shell32.dll,#{ID of Symbol}
    
por 06.01.2017 / 01:46
2

Não há programa separado. É função nbr. 61 no Shell32.dll.

A função é chamada RunFileDlg e usa vários parâmetros complicados para especificar qual comando executar e como executá-lo.

Explorer.exe (que é realmente o aplicativo que lida com a área de trabalho do Windows, incluindo o tratamento da opção "Executar" no menu Iniciar) simplesmente chama essa função para fazer o trabalho pesado.
(Na verdade: o Explorer só chama a variante básica. A função tem algumas opções que o explorador não usa de fato.)

Você pode escrever seu próprio programa em qualquer linguagem de programação que desejar (desde que permita chamar funções DLL do Windows) para chamar RunFileDlg por conta própria.
Toda a documentação para isso pode ser encontrada no site da Microsoft Technet. e Googling para shell32: RunFileDlg também vai te dar um monte de bons exemplos de como fazer isso.

    
por 06.01.2017 / 18:14