Aide code

Signaler
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012
-
Messages postés
129
Date d'inscription
mercredi 4 février 2004
Statut
Membre
Dernière intervention
25 juillet 2012
-
bonjour j'ai trouver un bout de code sur la sdk de winamp mé ché pas pk j'obtien de drole de charactère a la fin .... es ce que j'aurai louper quelque chose ? (je cherche a retrouver l'emplacement du fichier en cours de lecture)

type
PinfoBoxParam = ^TinfoBoxParam;
TinfoBoxParam = record
parent: HWND;
filename: PChar;
end;


procedure TForm1.Button1Click(Sender: TObject); const IPC_INFOBOX 293; WM_WA_IPC WM_USER;
var a:tinfoboxparam; wmp:hwnd;
begin
{ [Saivert] Nullsoft didn't specify this, but I guess you call it like:
SendMessage(hwnd_winamp,WM_WA_IPC,Integer(@AnInfoBoxParam),IPC_INFOBOX);}

wmp := FindWindow('Winamp v1.x', nil)


SendMessage(wmp,WM_WA_IPC,integer(@a),IPC_INFOBOX);
showmessage(pchar(a.filename)); // il devrai répondre le nom de fichier....
end

5 réponses

Messages postés
129
Date d'inscription
mercredi 4 février 2004
Statut
Membre
Dernière intervention
25 juillet 2012
1
Je vois que tu a un pointeur sur une structure et derrière une variable a de type de la structure plus haut.



Après tu met a.filename.



Ne devrais tu pas tenir compte du pointeur et prendre son contenu ?
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
3
Dans ce bout de code :
SendMessage(hwnd_winamp,WM_WA_IPC,Integer(@AnInfoBoxParam),IPC_INFOBOX);}
wmp := FindWindow('Winamp v1.x', nil)
SendMessage(wmp,WM_WA_IPC,integer(@a),IPC_INFOBOX);

Je pense que ça doit être pour l'envoi d'un fichier pour la liste de lecture.
A la ligne 2 (wmp : Find...) il regarde si Winamp est ouvert car je ne sais pas si tu as vu mais quand Winamp est ouvert et que tu vas dans le gestionnaire des taches tu vois 2 Winamp. Donc tu dois avoir un bout de code du logiciel qui met les fichiers en file.

showmessage(pchar(a.filename)); // il devrai répondre le nom de fichier....

Pour la ligne ci-dessus il affiche une boite de dialog simple avec le nom de ton fichier.

Enfin pour le curseur je ne suis pas sur du tout mais pas sur. Je pense que tu as dit curseur informatixo car in y avait nil à la ligne 2 (wmp : ...) non?

J'espère que je ne suis pas trompé et que ce que j'ai dit pourras t'être utile...

Matt
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012

bonjour a tous

tout d'abord merci pour votre aide mais j'ai déjà trouver la réponse

Winamp ne renvoi PAS le nom de fichier en cours de lecture a une application externe, il ne donne cette information qu'aux plugin qui ensuite le transmette aux appli. Néanmoin il y a une autre méthode, c'est de se faire passer pour un plugin ....

voila merci @+
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
3
Oui, c'est aussi une méthode. Bein bonne chance alors...

@+

Matt


<HR width="100%" SIZE=2>
La paresse est la mère du génie...
Messages postés
129
Date d'inscription
mercredi 4 février 2004
Statut
Membre
Dernière intervention
25 juillet 2012
1
En fait je ne comprend pas pourquoi tu déclares un pointeur "PinfoBoxParam = ^TinfoBoxParam;" alors que tu ne t'en sers pas.



Tu déclares après une variable "a" de type "TinfoBoxParam", puis tu
donnes son adresse en mémoire "@a" => donc OK pas de problèmes.



Mais tu n'utilises pas ton "PinfoBoxParam" et j'aurais aimé savoir
pourquoi ? S'il y avait une raison particulière (manière de me
cultiver) ?



Et je pensais que le prolème venait en partie de là !



Je suis content que tu es pu trouvé une solution à ton problème mais
j'aimerais bien avoir une réponse à ma question si ça ne te déranges
pas.



En effet, je trouve les pointeurs intéressants et ayant commencé depuis
peu cette partie là je souhaite en apprendre d'avantage et si je me
trompe je souhaite pouvoir le savoir.



A plus.