Question de noob

Question de noob - C - Programmation

Marsh Posté le 29-09-2007 à 05:18:16    

Bonjour, je vais encore passer pour un con mais je voudrait savoir comment, depuis un programme C, ouvrir un fichier depuis un lecteur multimédia (par exemple ouvrir c:\machanson.mp3 c:\winamp\winamp.exe)
(le fonctionnement est il le meme avec tout les lecteurs et tout les programmes (un jpg avec toshop encore que dans mon cas je m'en fout, un avi avec VLC etc)?)

Reply

Marsh Posté le 29-09-2007 à 05:18:16   

Reply

Marsh Posté le 29-09-2007 à 05:31:28    

man execvp

Reply

Marsh Posté le 29-09-2007 à 10:16:21    

Je ne sais pas si l'appel système linux execve() sera le plus pratique pour vous. Comme l'api win32 ne possède pas l'appel système fork(), tout
dépend de ce que vous souhaiter faire, mais vous risquez d'être sérieusement limité.
Le plus simple est la fonction blocante system(const char * cmd) qui est déclaré dans <stdlib.h>. Cette fonction appelle le shell pour éxecuter la commande, et le processus père attend gentiment la fin de l'éxécution. En fait, cette fonction à une mauvaise réputation dans le monde windows (failles de sécurité, etc...) principalement à cause de l'absence de la notion de privilèges, mais c'est la plus simple à utiliser.
Sinon l'api win32 propose la fonction CreateProcess() equivalente (à peu de chose près) au couple fork()/execve() d'Unix:
 
http://msdn2.microsoft.com/en-us/library/ms682512.aspx
 
A vous de voir quels sont vos besoins.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed