as tu testé la valeur de retour?
et donne nous le code exact que tu as essayé stp. Qqn as essayé cette solution et s'en ai sortie, il n'y a pas de raison que ce soit différent pour toi.
ouai, mais alors le pb, c'est le process que tu essaies de lancer. Pas le lanceur.
Si le processus cible n'est pas capable un argument qui contient des espaces, je ne pense pas que QProcess puisse le faire à sa place.
Enfin, moi ce que j'avais compris, c'est que tu voulais lancer un programme qui se trouvait à un chemin qui contient des espaces. Si c'est juste cela, alors le lien que je t'ai donné devrait résoudre ton pb. Tu fais un setCurrent() à l'endroit où se trouve le programme, et le lance en utilisant un chemin relatif (chemin courant)
Avec le "|" de toute façon, il y a peu de chance que ça fonctionne.
Par contre, si tu lances cmd.exe seul puis que tu écris les commandes sur l'entrée standard du QProcess (suivies d'un " ; exit", à la fin pour que ça quitte) que ça devrait faire à peu près la même chose, sans oublier "\n" à la fin de la ligne pour que la commande soit lancée.
Tu peux aussi créer un fichier .bat, pour y mettre les commandes, puis tu lances ce fichier avec "cmd.exe /c call tonFichier.bat".
Avec le "|" de toute façon, il y a peu de chance que ça fonctionne.
Par contre, si tu lances cmd.exe seul puis que tu écris les commandes sur l'entrée standard du QProcess (suivies d'un " ; exit", à la fin pour que ça quitte) que ça devrait faire à peu près la même chose, sans oublier "\n" à la fin de la ligne pour que la commande soit lancée.
Tu peux aussi créer un fichier .bat, pour y mettre les commandes, puis tu lances ce fichier avec "cmd.exe /c call tonFichier.bat".
Le problème ne vient pas du | mais de l'espace. sans espace dans le chemin, ça fonctionne...
22 ans, titulaire d'un Bac S Sciences de l'Ingénieur (Mention Bien) obtenu en 2013. Étudiant à l'IMT Lille Douai en double diplôme à EURECOM.
En fait, j'étais parti sur ce qui est indiqué là, mais après relecture, peut-être que le point 2, signifie que tu dois entourer toute la ligne après /c de guillemets et chaque nom long avec d'autres guillemets: "C:\\Windows\\system32\\cmd.exe /c \"\"C:\\Users\\Simon\\Logiciels\\Mon programme\\ressources\\rtmpdump.exe\" -r <italique>url de la video</italique> -| \"C:\Program Files\VideoLAN\VLC\vlc.exe\" -\""
Sinon, tu mets "C:\Users\Simon\Logiciels\Mon programme\ressources\" et "C:\Program Files\VideoLAN\VLC" dans la variable d'environment PATH (avec QProcess::setProcessEnvironment) avant de lancer QProcess (mais c'est vraiment plus simple de lancer cmd tout seul puis les commandes à l'intérieur).
En fait, j'étais parti sur ce qui est indiqué là, mais après relecture, peut-être que le point 2, signifie que tu dois entourer toute la ligne après /c de guillemets et chaque nom long avec d'autres guillemets: "C:\\Windows\\system32\\cmd.exe /c \"\"C:\\Users\\Simon\\Logiciels\\Mon programme\\ressources\\rtmpdump.exe\" -r <italique>url de la video</italique> -| \"C:\Program Files\VideoLAN\VLC\vlc.exe\" -\""
Le processus se lance, mais la commande ne marche plus...
22 ans, titulaire d'un Bac S Sciences de l'Ingénieur (Mention Bien) obtenu en 2013. Étudiant à l'IMT Lille Douai en double diplôme à EURECOM.
22 ans, titulaire d'un Bac S Sciences de l'Ingénieur (Mention Bien) obtenu en 2013. Étudiant à l'IMT Lille Douai en double diplôme à EURECOM.
[Qt] QProcess et espaces
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
par et j'ai toujours le même problème.