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:
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():
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():
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():
_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():
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
Partager