Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Invocar Aplicacion

Estas en el tema de Invocar Aplicacion en el foro de C/C++ en Foros del Web. Cual es el codigo en C++ para invocar una aplicacion. Yo trate con system("ruta_de_acceso") pero no funciono, decia que el directorio no es valido. Este ...
  #1 (permalink)  
Antiguo 13/09/2006, 15:36
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Invocar Aplicacion

Cual es el codigo en C++ para invocar una aplicacion.
Yo trate con system("ruta_de_acceso") pero no funciono, decia que el directorio no es valido.

Este el codigo k use:

#include <cstdlib>
#include <iostream>

using namespace std;

int main (void) {
if (system("cd.. C:\Program Files\Cheat Engine Cheat Engine.exe")){
system("pause");
}
}


P.S. El comando if esta porque quiero que la consola haga algo cuando abra el programa.
  #2 (permalink)  
Antiguo 13/09/2006, 16:18
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
No tiene sentido

"cd.. C:\Program Files\Cheat Engine Cheat Engine.exe"
  #3 (permalink)  
Antiguo 13/09/2006, 16:23
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
esa es la ruta de acceso. cd.. es de system y le indica al sistma k lo k sigue es una ruta. cuando yo pongo solo la parte de ruta, sin el ejecutable, corre bien, pk no me da error!. Pero no lo puedo hacer asi, pk el programa no corre en una linea por si solo
  #4 (permalink)  
Antiguo 13/09/2006, 16:29
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
esa es la ruta de acceso. cd.. es de system y le indica al sistma k lo k sigue es una ruta. cuando yo pongo solo la parte de ruta, sin el ejecutable, corre bien, pk no me da error!. Pero no lo puedo hacer asi, pk el programa no corre en una linea por si solo
Te repito, hazme caso, no tiene sentido.

"cd .." no es de system, ni de nada. De hecho no entiendes que es system.

system() invoca el comando en la consola del sistema operativo.

El comando "cd" sirve para cambiar directorios, sólo toma un argumento: El directorio al que quieres ir, no dos como tu pretendes.
  #5 (permalink)  
Antiguo 13/09/2006, 16:33
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
OK. Te voy a escuchar pk estoy aki para aprender. Ignora todo lo k he dicho hasta ahora. Como hago para ejecutar un programa????
  #6 (permalink)  
Antiguo 13/09/2006, 16:35
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
OK. Te voy a escuchar pk estoy aki para aprender. Ignora todo lo k he dicho hasta ahora. Como hago para ejecutar un programa????
Así es como debes preguntar. A quien te vaya ayudar sabe la respuesta, así que no le interesa saber lo que tú supones que es. Pregunta, y punto :)

system("X:\ruta\a\tu\programa.exe parametro1 parametro2");
  #7 (permalink)  
Antiguo 13/09/2006, 16:37
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
k significan esos parametros?
  #8 (permalink)  
Antiguo 13/09/2006, 16:39
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
k significan esos parametros?
Es un ejemplo, son los parámetros que quieras pasarle al programa...

Si no tienes ninguno que pasarle, no lo pases.

system("X:\ruta\programa.exe");
  #9 (permalink)  
Antiguo 13/09/2006, 16:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
La ruta k use fue system("C:\Program Files\Cheat Engine\Cheat Engine.exe" y me da un error k dice k: "C:\Program" no es reconocido como un comando interno o externo ni programa.
  #10 (permalink)  
Antiguo 13/09/2006, 16:43
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
La ruta k use fue system("C:\Program Files\Cheat Engine\Cheat Engine.exe" y me da un error k dice k: "C:\Program" no es reconocido como un comando interno o externo ni programa.
Recuerda que \ determina un caracter de escape.

Para representar barras, debes duplicarlas:

system("C:\\Program Files\\Cheat Engine\\Cheat Engine.exe");

Estás bastante verde, ¿no? ;) A saber qué intentas hacer con eso...
  #11 (permalink)  
Antiguo 13/09/2006, 16:47
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
me da el mismo error!!!! :S
  #12 (permalink)  
Antiguo 13/09/2006, 16:53
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
me da el mismo error!!!! :S
También debes recordar que la consola de Windows requiere de comillas para rutas con espacios incluidos:

system(""C:\\Program Files\\Cheat Engine\\Cheat Engine.exe"");

:)))
  #13 (permalink)  
Antiguo 13/09/2006, 18:31
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Huy, pues incluso mas complicado.

no se sin en windows XP aun sea asi, pero recuerdo que para Program files(Archivos de programa) tenias que poner cosas como

C:/Archiv~1/.....

Era practicamente estrar adivinando.

Intenta ejecutar command y llegar al directorio dopnde tienes el programa, para asi tener la ruta correcta.

En caso de que en XP el cmd ya te deje meter rutas completas entonces con las comillas ya se debe resolver.

Saludos
  #14 (permalink)  
Antiguo 13/09/2006, 18:34
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por Instru Ver Mensaje
Huy, pues incluso mas complicado.

no se sin en windows XP aun sea asi, pero recuerdo que para Program files(Archivos de programa) tenias que poner cosas como

C:/Archiv~1/.....

Era practicamente estrar adivinando.

Intenta ejecutar command y llegar al directorio dopnde tienes el programa, para asi tener la ruta correcta.

En caso de que en XP el cmd ya te deje meter rutas completas entonces con las comillas ya se debe resolver.

Saludos
Ciertamente, una chapuza. Igual que el límite de 8+3 caracteres para los nombres de fichero de MS-DOS ;)

Ah! Herejía! Si viene Developer9 te mata. Has escrito "C:/"

Tanto Lunix del diablo... digo sinux... digo... bueno ese sistema operativo de terroristas comunistas!!!
  #15 (permalink)  
Antiguo 13/09/2006, 19:06
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Jajajajajajajajaja
Sin palabras

Saludos
  #16 (permalink)  
Antiguo 14/09/2006, 12:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
aun no funciona, al escribir el codigo entre 2 comillas, lo k hace es k toma lo k esta entre las dos primeras comillas y lo asume como texto, lo mismo para los 2 ultimas, excepto k no hay nada, lo demas lo asume como parte del codigo, y como eso no significa nada, ni sikiera compila.

Puede alguien tratar de escribir el codigo y compilarlo y entonces decirme bien POR FAVOR????

Última edición por pedro_cesar; 14/09/2006 a las 17:41
  #17 (permalink)  
Antiguo 14/09/2006, 18:20
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por pedro_cesar Ver Mensaje
aun no funciona, al escribir el codigo entre 2 comillas, lo k hace es k toma lo k esta entre las dos primeras comillas y lo asume como texto, lo mismo para los 2 ultimas, excepto k no hay nada, lo demas lo asume como parte del codigo, y como eso no significa nada, ni sikiera compila.

Puede alguien tratar de escribir el codigo y compilarlo y entonces decirme bien POR FAVOR????
Te dije que recordases que para escribir caracteres especiales debes usar \.

No te lo tomes a mal, yendo paso a paso hago que aprendas el por qué de todo.

Aquí ya sí tienes la solución real:

system("\"C:\\ruta al\\programa.exe\"");
  #18 (permalink)  
Antiguo 14/09/2006, 19:05
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
No lo tomo a mal, estoy aki para aprender, lo k pasa es k no me manejo muy bien con la teoria. Gracias.
  #19 (permalink)  
Antiguo 14/09/2006, 19:08
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
Todavia no funciona, el codigo k digite fue:

#include <iostream>

using namespace std;

int main (void) {

system("\"C:\\Program files\\Cheat Engine\\Cheat Engine.exe\"");
system("pause");
}
  #20 (permalink)  
Antiguo 30/10/2006, 19:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 328
Antigüedad: 17 años, 8 meses
Puntos: 3
mi problema esta en k estoy diseñando un programa para consola de windows (Command Prompt), y aki no se puede poner el nombre del programa al mismo tiempo k la ruta. Como hago para k el programa coja la ruta, vaya alla y se kede (pk despues de k se ejecuta el comando de la ruta el vuelve a la localizacion del ejecutable k cree) y luego coja el nombre del programa y lo ejecute???
  #21 (permalink)  
Antiguo 31/10/2006, 01:23
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
SetCurrentDirectory y no uses system ... esa funcion en si misma es como dicen en España una chapuza, usa CreateProcess.

http://msdn.microsoft.com/library/en...tdirectory.asp
http://msdn.microsoft.com/library/en...ateprocess.asp
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:29.