C++

Fermé
Yvan64320 Messages postés 33 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 25 août 2011 - 29 juil. 2011 à 16:05
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 29 juil. 2011 à 18:07
Bonjour,
Débutant toujours en C++ j'ai réussis à faire un code qui permet d'exécuter un fichier.
Le problème c'est que je peux exécuter des fichiers txt ou pdf mais pas de mp3 par exemple ou png j'aurais aimé savoir comment on peut lui dire d'aller chercher le programme par défaut.

voici mon code:

#include <cstdlib>

int main (int argc, char **argv)
{
#ifdef WIN32 //Sous Windows
system ("D:\\Soirée+du+4+juin+2011.pdf");// executer le fichier :))))

#endif
return EXIT_SUCCESS;
}



Merci d'avance.

ps: désolé mais je débute vraiment en c++

3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
29 juil. 2011 à 16:24
Si tu utilises des appels systèmes ce n'est plus vraiment un problème de C++
Sous Windows tu peux par exemple utiliser :

system("cmd /c \"D:\\Soirée du 4 juin 2011.pdf\"");
0
Yvan64320 Messages postés 33 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 25 août 2011
29 juil. 2011 à 16:34
d'accord cela marche à part pour les fichiers .png, peut tu m'expliquer clairement ce que ça change de ma ligne d'avant? est ce le fait de l'appeler en commande et non avec le chemin d'accès ?


Merci déjà pour ta première réponse.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
29 juil. 2011 à 18:07
Normalement les deux méthodes sont censés donner la même chose, mais puisque cela ne semblait fonctionner chez toi je t'ai donné une alternative qui visiblement n'est toujours pas satisfaisante ^^

Voici une troisième manière de faire, toujours spécifique à Windows :

#include <windows.h>
#include <atlstr.h>

int main()
{
	CString fichier = "D:/test.png";
	ShellExecute(NULL,NULL,fichier,NULL,NULL,SW_SHOW);
}
0