J'ai un programme console écrit en C++. Maintenant, je veux ouvrir un document manuel (au format .txt ou .pdf) chaque fois qu'un utilisateur du programme tape 'manuel' dans la console. Comment puis-je faire ceci? Tous les liens vers un didacticiel seraient utiles.MerciOuverture d'un document par programmation en C++
Répondre
En supposant que vous êtes sous Windows, vous recherchez la fonction ShellExecute. (Utilisez le "ouvert" verbe)
Essayez de compiler ce code (Open.cpp) à Open.exe Ensuite, vous pouvez l'exécuter avec (par exemple), ces paramètres:
Ouvrez "C: \ votre file.doc"
Open "C: \ votre file.exe"
ouvrir le bloc-notes
#include "windows.h"
int main(int argc, char *argv[])
{
ShellExecute(GetDesktopWindow(), "open", argv[1], NULL, NULL, SW_SHOWNORMAL);
}
Explication du programme:
- Vous devriez d'abord inclure les fenêtres bibliothèque (windows.h) pour obtenir ShellExecute et la fonction GetDesktopWindow.
- ShellExecute est la fonction d'exécuter le fichier avec le paramètre argv [1] qui est le chemin du fichier à ouvrir
- Une autre option pour
lpOperation
arguments au lieu de"open"
est NULL."explore"
et"find"
sont également les options, mais ils ne sont pas pour l'ouverture d'un fichier. - SW_SHOWNORMAL est la constante de montrer le programme en mode normal (non minimiser ou maximiser)
En standard, la plate-forme indépendante, C et C++, vous pouvez utiliser la fonction system
pour transmettre le nom de une application pour ouvrir vos fichiers.
Par exemple, l'utilisation de Windows:
const char text_filename[] = "example.txt";
const char text_application[] = "notepad.exe";
std::string system_str;
system_str = text_application;
system_str += " ";
system_str += text_filename;
// Execute the application
system(system_str.c_str());
Le texte envoyé à la fonction system
est propre à la plateforme.
Merci, ça marche! Il échoue lorsque j'essaie d'ouvrir un fichier pdf en utilisant Adobe. Il est dit "acrord32.exe n'est pas reconnu comme un fichier de commande interne ou externe, exécutable ou par programme". – James
managé C++ est très facile
System :: Diagnostics :: Process :: Démarrer (chemin);
fait!
- 1. Ouverture d'un document d'archives IXOS par programme
- 2. Ouverture d'un document PDF protégé par mot de passe
- 3. Ouverture d'une feuille de calcul xls par programmation en C# à partir d'un site SharePoint en mode Lecture/Ecriture
- 4. Pouvons-nous convertir le document xps en Pdf par programmation en utilisant C#
- 5. Lier formview à la programmation par programmation en C#
- 6. Terminer scanf par programmation en langage C
- 7. MySQL Trigger par programmation en C#
- 8. Ouverture d'un document Word avec mode lecture en utilisant python
- 9. Que signifie "->" en programmation C, programmation Gtk +?
- 10. Comment créer une tâche planifiée par programmation en C/C++?
- 11. Qu'est-ce qu'un bon document standard à utiliser par programmation?
- 12. Ouverture d'un formulaire par programme
- 13. Créer un nouveau document par programmation dans le cacao
- 14. Ouverture et fermeture rapides System.IO.StreamWriter en C#
- 15. Créer une animation Silverlight par programmation en accélérant en C#
- 16. Programmation parallèle en C#
- 17. Générer un document word en C#
- 18. Ouverture d'un formulaire en C# sans focus
- 19. Ouverture de plusieurs fichiers en C++
- 20. programmation win32 en C++
- 21. programmation Socket en C
- 22. programmation modulaire en C++
- 23. Programmation en C# question
- 24. C# ouverture d'une forme
- 25. Programmation de socket par C# dans ASP.net
- 26. Programmation de socket en C++
- 27. vba: comment ouvrir un classeur par programmation en lecture seule?
- 28. poste de travail de Windows verrouillage par programmation en C#
- 29. comment importer un fichier tlb par programmation en C++?
- 30. Comment télécharger un gros fichier par programmation en C#
Sur quelle plateforme? –
En outre, prévoyez-vous d'écrire le visualiseur vous-même, ou allez-vous ouvrir une visionneuse tierce pour afficher le contenu du document.Quelques détails supplémentaires pourraient vous aider à obtenir la réponse que vous recherchez. –
@ James McNellis Je l'ai programmé sur Windows mais je voudrais aussi l'exécuter sur des machines Linux. Le code peut-il être indépendant de la plateforme? Où vous juste changez le paramètre d'application puis recompilez la source. @Rob Je prévois de l'ouvrir en utilisant notepad sur windows ou gedit sur linux. – James