Programación General > C/C++

 problema con shellexecute

(1/1)

black_flowers:
estoy que no doy una, he probado todas las combinaciones pero no consigo ejecutar un maldito programa con shellexecute. Lo quetengo es un programa en c++ que utiliza esta instrucción para ejecutar otro programa:

--- Código: C++ ---ShellExecute(NULL,"open", "miPrograma.exe",NULL,NULL, SW_SHOW); pero compila, pasa de largo y no hace nada.
la aplicación miPrograma.exe se encuentra en la misma carpeta que el que estoy ejecutando.
he probado tambien así:
miPrograma.exe
así: (poniendo miPrograma.exe en C:)

--- Código: C++ ---ShellExecute(NULL,"open", "miPrograma.exe",NULL,"C:", SW_SHOW);  pero nada, ninguna funciona.
Sólo me ha funcionado esto:

--- Código: C++ ---ShellExecute(NULL,"open", "calc.exe",NULL,NULL, SW_SHOW); ya que la calculadora es accesible desde cualquier punto.
no obstante si coloco la calculadora en c: y hago esto:

--- Código: C++ ---ShellExecute(NULL,"open", "calc.exe",NULL,"C:", SW_SHOW);  ya no funciona tampoco.

Epa:
Buenas

Fijate que las  en las cadenas se representan con \

Proba lo siguiente con el programa en C:

ShellExecute(NULL,"open", "miPrograma.exe",NULL,"C:\", SW_SHOW);

Si funciona vas a tener que pasarle la ruta completa. Lo que podes conseguir facilmente de argv[0] del main.

Saludos

black_flowers:

--- Cita de: "Epa" ---Buenas

Fijate que las  en las cadenas se representan con \

Proba lo siguiente con el programa en C:

ShellExecute(NULL,"open", "miPrograma.exe",NULL,"C:\", SW_SHOW);

Si funciona vas a tener que pasarle la ruta completa. Lo que podes conseguir facilmente de argv[0] del main.

Saludos
--- Fin de la cita ---

 :good: , por fin, además de eso tambiénhabía que tener en cuenta que para ejecutar la calculadora hay que ejecutarla como administrador. Así que era necesario ejecutar uno que no necesitara ser ejecutado como administrador.

Gracias!!

Navegación

[0] Índice de Mensajes

Ir a la versión completa