• Jueves 14 de Noviembre de 2024, 16:45

Autor Tema:  problema con shellexecute  (Leído 1720 veces)

black_flowers

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
problema con shellexecute
« en: Lunes 28 de Marzo de 2011, 02:39 »
0
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++
  1. ShellExecute(NULL,"open", "miPrograma.exe",NULL,NULL, SW_SHOW);
  2.  
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++
  1. ShellExecute(NULL,"open", "miPrograma.exe",NULL,"C:", SW_SHOW);
  2.  
  3.  
pero nada, ninguna funciona.
Sólo me ha funcionado esto:
Código: C++
  1. ShellExecute(NULL,"open", "calc.exe",NULL,NULL, SW_SHOW);
  2.  
ya que la calculadora es accesible desde cualquier punto.
no obstante si coloco la calculadora en c: y hago esto:
Código: C++
  1. ShellExecute(NULL,"open", "calc.exe",NULL,"C:", SW_SHOW);
  2.  
  3.  
ya no funciona tampoco.

Epa

  • Miembro MUY activo
  • ***
  • Mensajes: 242
  • Nacionalidad: ar
    • Ver Perfil
Re: problema con shellexecute
« Respuesta #1 en: Martes 29 de Marzo de 2011, 18:30 »
0
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
The sweet smell of a great sorrow lies over the land.


black_flowers

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: problema con shellexecute
« Respuesta #2 en: Miércoles 30 de Marzo de 2011, 00:36 »
0
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

 :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!!