Salut,

J'utilise Code::Blocks et j'ai créé un projet GUI et non console parce que je veux que mon programme s'exécute en arrière plan
Dans mon programme, j'aimerais exécuter cette commande:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
curl -F "api_key=XXX" -F "filetype=mp3" -F "track=@sound.mp3" "http://developer.echonest.com/api/v4/track/upload" > info.txt
Avec ces exigences : ne pas voir de console (même pendant une demi-seconde) et créer le fichier info.txt qui collecte la sortie de la commande.

J'ai essayé 4 fonctions :

system():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
system("curl -F \"api_key=XXX\" -F \"filetype=mp3\" -F \"track=@sound.mp3\" \"http://developer.echonest.com/api/v4/track/upload\" > info.txt");
crée le fichier mais affiche la console pendant toute l’exécution de la commande avec les détails de l’exécution


WinExec():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
WinExec("curl -F \"api_key=XXX\" -F \"filetype=mp3\" -F \"track=@sound.mp3\" \"http://developer.echonest.com/api/v4/track/upload\" > info.txt",SW_HIDE);
n'affiche pas la console mais ne crée pas le fichier


_popen():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
_popen("curl -F \"api_key=XXX\" -F \"filetype=mp3\" -F \"track=@sound.mp3\" \"http://developer.echonest.com/api/v4/track/upload\" > info.txt","r");
crée le fichier mais affiche la console vide pendant 2 à 3 seondes


CreateProcess():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CreateProcess(NULL, "curl -F \"api_key=XXX\" -F \"filetype=mp3\" -F \"track=@sound.mp3\" \"http://developer.echonest.com/api/v4/track/upload\" > info.txt",NULL, NULL,FALSE,CREATE_NO_WINDOW,NULL,NULL,&si,&pi );
n'affiche pas la console mais ne crée pas le fichier


Je vous remercie d'avance pour votre contribution