Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: paju1986 en 24 Diciembre 2010, 02:20 am



Título: QProcess::execute() no ejecuta el programa [c++][?]
Publicado por: paju1986 en 24 Diciembre 2010, 02:20 am
Hola, tengo este simple código en C++ con las librerias Qt4 donde parametros[1] es un QString con la ruta completa del ejecutable que pretendo ejecutar y no me funciona.
¿Que puede estar pasando?

 if (parametros[0] == "execute")
    {
        QProcess ejecutar;
        ejecutar.start(parametros[1]);
    }


Título: Re: QProcess::execute() no ejecuta el programa
Publicado por: Garfield07 en 24 Diciembre 2010, 10:52 am
1) Aunque sea code pequeño, GeShi. A pesar de ser pequeñisimo.
2) Supongo que sera C++. Ponlo en el titulo [C++] [?]
3)
Código
  1. QProcess ejecutar;
¿Que libreria estas usando? No conozco nada parecido en C o C++.  Es una estructura de funciones?
4)
Código
  1. if (parametros[0] == "execute")
Estas diciendo que si el programa se llama "execute" abriras "programa".
Creo que seria correcto:
Código
  1. if (parametros[1] == "execute")
  2.    {
  3.        QProcess ejecutar;
  4.        ejecutar.start(parametros[2]);
  5.    }

argv
  • --> Nombre del programa. Siempre disponible (ej: ./code).
argv [1] --> Primer argumento. No esta siempre disponible. Solo cuando lo escribe el usuario (ej: ./code execute)
argv [2] --> Segundo argumento. No esta siempre disponible. Solo cuando lo escribe el usuario (ej: ./code execute  "/bin/bash").


Espero haberte ayudado!


Título: Re: QProcess::execute() no ejecuta el programa
Publicado por: paju1986 en 24 Diciembre 2010, 13:53 pm
Perdon las librerias que estoy usando son las Qt4 y si es c++, en cuanto a los parametros, el método recibe  correctamente la ruta absoluta del ejecutable en cuestión.