2010-12-04 13 views
5

la pregunta es cómo abrir Ejecutar programáticamente desde C++? Sé que tengo alguna función que puede reemplazar eso, como shellexec, winexec, pero para algunas tareas solo necesito ejecutar el diálogo para que aparezca.Cómo abrir programáticamente Ejecutar C++?

Respuesta

6

El diálogo Ejecutar se encuentra en shell32.dll usando la función RunFileDlg. Una forma de mostrar el diálogo es usar rundll32.exe para invocar esa función. Ejecute el siguiente comando usando la API de Win32 CreateProcess:

rundll32.exe shell32.dll,#61 

(donde # 61 es el número ordinal de la función RunFileDlg).

Referencia de las funciones Shell32.dll: http://www.geoffchappell.com/viewer.htm?doc=studies/windows/shell/shell32/api/index.htm

Espero que esto ayude.

+0

thnx ... todo para reproducir, ayuda mucho :) – raptor

1

Uso shellexec, WinExec o cualquier otra función favorita para ejecutar

rundll32.exe shell32.dll,#61 

Esto abrirá el cuadro de diálogo.

+0

¡Ja! Estuviste exactamente 1 segundo más rápido :) – Kos

1

Algo así como:

#include <cstdlib> 

system("rundll32.exe shell32.dll,#61"); 
Cuestiones relacionadas