Comment boucler un programme windows/winamp

Signaler
Messages postés
2
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
31 mars 2005
-
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
-
Bonjour
un bon bout de temps que je galère, d'habitude la bidouille paie mais là...
Je suis en train de creer un petit programme qui controle winamp en lui injectant des liste m3u générées aléatoirement pour une installation vidéo, la chose fonctionne une fois, mais comment la boucler...
Je dois recharger ma liste et la lire quand winamp passe à STOP

SendMessage(winamp,WM_USER,0,104) renvoie 0 quand winamp est en stop

j'ai essayé en bouclant
while(TRUE)
{
if(SendMessage(winamp,WM_USER,0,104)==0){mes actions de creation et lecture...}
}
mais ça fait tout bugger ou alors super lent

j'ai essayé après avec la file de messages windows mais pfuuuu c'est galere
comment trouver quand winamp est en stop....

merci beaucoup de votre aide j'espere que j'ai été assez clair....

<S>RON.x</S>

9 réponses

Messages postés
36
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
11 juin 2005

Quand winamp est en stop, il y'a [stop] dans le titre de ça fenêtre, ça devrait t'aider.
Messages postés
36
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
11 juin 2005

petite erreur: c'est [Stopped] et non [stop].
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
11
normal que ce soit lent, puisque tu fais une boucle infinie "while(TRUE)", donc ca te bouffe toutes les ressources de ton processeurs... une meilleur solution et la plus simple, serait d'utiliser un Timer qui verifierai par exemple toutes les secondes l'état de winamp !
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
117
Date d'inscription
mardi 22 juillet 2003
Statut
Membre
Dernière intervention
21 janvier 2011

ou un Sleep(...) qui endors le processus.
Messages postés
2
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
31 mars 2005

Ok merci pour les réponses
mais en fait je dois relancer imédiatement une nouvelle liste quand winamp stoppe
si j'attends touts les secondes je vais avoir une saccade entre les lectures...
Je voudrais donc déclencher ma recharge de fichiers immediatement...
en gros comment faire le test (SendMessage(winamp,WM_USER,0,104)==0
tout le tps sans bouffer toute la mémoire???....

merci

<S>RON.x</S>
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
3
Endore ton processus pendant 500 ms ou 250ms, ça laisse le temps au
processeur de tout gérer, pi faut avouer que ça ne doi pas beaucoup
être sacader comme ça.

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
Messages postés
2
Date d'inscription
mardi 1 février 2005
Statut
Membre
Dernière intervention
17 avril 2005

moi j'ai integré la commande dans un timer et sa marche enfin presque parsque apparement SendMessage me renvoi toujour zero meme quand je suis en lecture.



Si quelqu'un connais la solution merci d'avance.
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
11
dronx << salut, excuse moi mais j'ai une question et je pense que tu va pouvoir m'aider ! en fait je voudrais envoyé un message à un prog a partir du mien sauf que je ne sais pas trop comment faire. or je vois que toi tu as fais:
SendMessage(winamp,WM_USER,0,104)

mais c'est quoi "winamp"?
merci par avance
Bob...

"La chance accorde ses faveur aux esprits avertis..."
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
3
LordBob> A mon humble avis, c'est le handle de Winamp.

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite