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]);
}
1) Aunque sea code pequeño, GeShi. A pesar de ser pequeñisimo.
2) Supongo que sera C++. Ponlo en el titulo [C++] [?]
3)
QProcess ejecutar;
¿Que libreria estas usando? No conozco nada parecido en C o C++. Es una estructura de funciones?
4)
if (parametros[0] == "execute")
Estas diciendo que si el programa se llama "execute" abriras "programa".
Creo que seria correcto:
if (parametros[1] == "execute")
{
QProcess ejecutar;
ejecutar.start(parametros[2]);
}
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!
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.