Lancer une application externe en C - C - Programmation
Marsh Posté le 18-02-2005 à 19:29:16
Koon5 a écrit : Pour ce faire je suis dans l'obligation de programmer en C un programme sur mon PC permettant de lancer des applications externes |
La fonction standard est system() (<stdlib.h> ).
Marsh Posté le 19-02-2005 à 09:53:11
Ok merci beaucoup je viens de trouver cette fonction, cependant quel est le parametre d'entrée? car dans sa definition, il prend un const char*... Est ce l'indentifiant de l'application?(si oui ou le trouver?)
CRTIMP int __cdecl system(const char *);
Marsh Posté le 19-02-2005 à 10:16:54
Koon5 a écrit : Ok merci beaucoup je viens de trouver cette fonction, cependant quel est le parametre d'entrée? car dans sa definition, il prend un const char*... Est ce l'indentifiant de l'application?(si oui ou le trouver?) |
L'adresse d'une chaine représentant la commande... Au fait, qu'en pense ton livre de C ? man system ?
Voici ce que dit l'aide de Borland C (évidemment, les explications sont orientées DOS, car la fonction est standard, mais son effet n'est pas portable, bien sûr...) :
|
Marsh Posté le 19-02-2005 à 10:45:55
En fait je ne souhaite pas utiliser le dos car j'aimerais lancer des fichiers mp3. On m'a parlé de win32api...
Marsh Posté le 19-02-2005 à 11:17:05
Koon5 a écrit : En fait je ne souhaite pas utiliser le dos |
Peut importe. system() invoque l'interpréteur de commande courant de ton système (sous XP, cmd.exe, par exemple)
Citation : car j'aimerais lancer des fichiers mp3. On m'a parlé de win32api... |
Un fichier mp3 n'est pas exécutable. Il peut servir de paramètre à un exécutable qui va lire ce fichier (Winamp etc.)
Par exemple
system ("winamp jimihendrix.mp3" ); |
Tu peux aussi utiliser une fonction de l'API Windows,
http://msdn.microsoft.com
mais ton code ne sera plus portable. En principe, on ne fait ça qu'une fois que les solutions portables ont été épuisées...
Marsh Posté le 19-02-2005 à 11:29:18
Ok tres bien! c'est sympa!! Je vais tester ca!
Merci!
Autre chose, je souhaite donc faire une telecommande et je souhaitais génerer une sorte de catalogue dans un fichier txt que j'enverrai vers le pocket pc qui traitera les donnees.
La question est:comment peut on en C dresser une liste de fichiers d'un repertoire et l'importer dans un fichier txt?(je connais f_open,f_write,f_close)
Marsh Posté le 19-02-2005 à 11:43:45
Koon5 a écrit : comment peut on en C dresser une liste de fichiers d'un repertoire |
Pour récupérer la liste des fichier d'un répertoire, il faut utiliser une fonction système. Puisque tu es sous Windows, le mieux est de consulter la liste des fonctions dans MSDN (lien déjà donné).
Citation : et l'importer dans un fichier txt?(je connais f_open,f_write,f_close) |
Non! Tu connais fopen(), fwrite() ,fclose() ... !
Pour créer un ficher texte, tu utilises fopen() avec "w", fprintf(), fclose(). Cette question est très basique AMA, tu devrais commencer par apprendre le langage C avant de te lancer dans des choses plus compliquées...
Quelques conseils utiles:
http://mapage.noos.fr/emdel/
Marsh Posté le 19-02-2005 à 12:12:37
Ok Ok simplement les reflexions je pense que tu peux les garder, si je post c'est pour avoir de l'aide!
Je sais tres bien utiliser les fonctions de creation de fichier txt.
Merci pour ton aide
Marsh Posté le 19-02-2005 à 12:23:58
Koon5 a écrit : Ok Ok simplement les reflexions je pense que tu peux les garder, si je post c'est pour avoir de l'aide! |
L'aide consiste aussi à te conseiller ce qu'il faut faire. Si tu ne veux pas d'aide, ne poste pas ici.
Citation : |
Visiblement, non...
Marsh Posté le 27-12-2006 à 02:26:27
ok et comment ferait-on pour lancer un programme dont l'utilisateur taperait le nom ?
Marsh Posté le 27-12-2006 à 02:31:52
printf("Appuyez sur les touches Win+R puis tappez le nom d'un programme puis enfin appuyez sur la touche Entrée\n" );
Marsh Posté le 27-12-2006 à 05:03:29
Koon5 a écrit : Ok Ok simplement les reflexions je pense que tu peux les garder, si je post c'est pour avoir de l'aide! |
Cte réponse... surtout destinée a ED
Marsh Posté le 27-12-2006 à 21:15:03
Emmanuel Delahaye a écrit : Peut importe. system() invoque l'interpréteur de commande courant de ton système (sous XP, cmd.exe, par exemple)
|
Si la commande "system" est censée être portable, 'system ("winamp jimihendrix.mp3" );' ne l'est pas du tout car rien n'indique que l'utilisateur utilise winamp pour lire ses mp3!!!
Si effectivement tu (koon5) programmes pour une plateforme windows uniquement alors renseigne toi sur la fonction 'ShellExecute' (tu trouvera le descriptif sur msdn, voir adresse ci dessus).
Marsh Posté le 27-12-2006 à 23:39:23
breizhbugs a écrit : Si la commande "system" est censée être portable, 'system ("winamp jimihendrix.mp3" );' ne l'est pas du tout car rien n'indique que l'utilisateur utilise winamp pour lire ses mp3!!! |
C'est pour ça qu'il y a écrit "par exemple"...
Marsh Posté le 18-02-2005 à 17:20:05
Bonjour a tous,
Je suis etudiant et pour mon projet de fin d'études, j'ai décidé de realiser une télécommande bluetooth avec un pocket pc.
Pour ce faire je suis dans l'obligation de programmer en C un programme sur mon PC permettant de lancer des applications externes( telles que windows media player ou winamp) ou d'ouvrir des fichiers avec le logciel qui correspond.
Si quelqu'un a des conseils a donner je suis tres prenneur!!
J'ai pu voir qu'avec le win32api ca pouvait etre possible mais je ne vois pas trop comment faire et quelle fonction utilisée.
Par avance Merci!!!