[QT] lancer mon .doc depuis interface QT

Résolu/Fermé
Gorgone - 22 avril 2008 à 07:45
 Gorgone - 23 avril 2008 à 05:29
Bonjour,

Je souhaite lancer un fichier .doc spécifique depuis mon interface QT. Celui-ci est contenu dans un répertoire donnée dont j'appellerai ici son chemin d'accès : path

La commande suivante marche si je met un .exe comme fichier. Par contre elle ne marche plus pour un autre genre de fichier (.doc ici en l'ocurrence pour mon probleme)
QProcess::startDetached ("path"+"nom du fichier");



J'ai essayé aussi avec :
QProcess::startDetached ("cmd path start monFichier.doc ");

Mais ça ne marche pas.

Par contre ça marche si je met le .doc dans c:/Windows et j'utilise :
QProcess::startDetached ("cmd /c start monFichier.doc ");



Qqun pourrait-il m'aider sur ce point ?

merci
A voir également:

3 réponses

tatou_38 Messages postés 1928 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 5 août 2015 120
22 avril 2008 à 08:07
un fichier .doc n'est pas un fichier exécutable, donc tu ne peux pas l'éxécuter. Il faut lancer l'éditeur de texte, Word j'imagine, avec le nom du fichier .doc dans la ligne de commande, ex : start word.exe monfichier.doc

Je pense que tu est victime de l'enrobage Windows, qui associe aux icônes des fichiers le nom du programme qui les utilisent. En programmation, tu ne bénéficie pas de cette astuce.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 avril 2008 à 09:12
enrobage valable sous les environnement kde et gnome de Linux aussi.
Mais en effet, il faut lancer word (ou l'équivalent) avec comme argument le nom du fichier.
L'intéret de QProcess est de pouvoir le faire simplement. Quitte à utiliser des commande complquer, autant prendre la fonction system plutôt que QProcess.
Donc, soi :
system ("cmd /c start monFichier.doc ");
soit :
QProcess::start("word","fichier");
0
Merci pour vos réponse.

Une solution est :

QProcess::startDetached ("cmd /c start c:/QT/MonRep/monFichier.doc ");


c t juste dans cet ordre qu'il fallait entrer le chemin d'accès.
0