Rețeaua de magazine - kei - vizualizați subiectele - gestionați winamp om dintr-un alt program

Traducere de Zöbra Inc. (adică mine)
Aplicații pentru programarea interfeței WinAmp

Folosind linia de comandă pentru Winamp
Cel mai simplu și mai ușor mod de a gestiona Winamp este de a folosi winamp.exe cu diferite opțiuni de comandă pe linie. Puteți face diferite lucruri, de exemplu:
C: \ cale \ pentru \ winamp \ winamp.exe / ADD C: \ mp3
(Adaugă C: \ mp3 \ any.mp3 în lista de redare a Winamp-ului, în caz contrar se deschide Winamp și se începe redarea)

C: \ cale \ pentru \ winamp \ winamp.exe / NEW
(Începe un nou Winamp, chiar dacă Winamp rulează deja)

C: \ cale \ pentru \ winamp \ winamp.exe C: \ mp3 \ file.mp3
(Fișierul C: \ mp3 \ file.mp3 se joacă, indiferent dacă rulează Winamp sau nu)

C: \ cale \ pentru \ winamp \ winamp.exe / CLASS = "numele meu"
(Deschide Winamp într-o altă clasă de ferestre numită "myclassname")

După cum puteți vedea, capacitățile dvs. de pe linia de comandă sunt limitate, dar este ușor să începeți. De asemenea, puteți atribui mai multe fișiere și / sau dosare la linia de comandă, de exemplu:
C: \ cale \ a \ winamp \ Winamp.exe / NEW "C: \ MP3-urile mele" "C: \ bigplaylist.pls" "C: \ descărcare \ nou song.mp3"


Utilizarea mesajelor Windows pentru a gestiona Winamp
Atribuirea unui fereastră Winamp
Winamp este o aplicație Windows pe 32 de biți. Iată cunoștințele de bază despre programarea programării pe 32 de biți. Puteți controla Winamp utilizând sistemul de mesaje Windows. Înainte de a începe să trimiteți mesaje, trebuie să decideți asupra mânerului ferestrei. Există două moduri principale, una pentru programe externe, una pentru plug-in-uri. Plugin-urile doar trec HWND la Winamp în structurile lor respective. O variabilă este denumită de obicei hwndWinamp sau hwndParent.
Aplicațiile externe pot detecta Winamp folosind următoarele coduri:

C / C ++:
HWND hwndWinamp = FindWindow ("Winamp v1.x", NULL);

VBasic:
Declare public Funcția FindWindow Lib "user32" Alias ​​"FindWindowA" (ByVal lpClassName Ca String, ByVal lpWindowName Ca String) atâta timp
Dim hwndWinamp cât timp
hwndWinamp = FindWindow ("Winamp v1.x", vbNullString)

Delphi Pascal:
var hwndWinamp. THandle;
hwndWinamp: = FindWindow ("Winamp v1.x", zero);

Acest cod utilizează funcția FindWindow () pentru a găsi fereastra cu titlul "Winamp v1.x". Toate versiunile de Winamp 1.x și 2.x au clasa "Winamp v1.x", dacă nu se modifică / CLASS = (vezi mai sus). Rețineți, dacă doriți să rulați câteva Winamp-uri și să le distingeți, puteți utiliza / CLASS = switch.

Mesaje WM_USER
Mesajele WM_USER sunt trimise utilizând SendMessage (). În C / C ++, puteți trimite date de mesaj folosind:

int ret = SendMessage (hwndWinamp, WM_USER, date, id);

Datele sunt utilizate de o varietate de mesaje, dar nu toate. Pentru astfel de mesaje, în care valoarea definiției date nu este definită, utilizați pur și simplu 0.
Iată o listă a id-urilor acceptate în prezent, pe care le puteți utiliza de la plug-in-uri Winamp sau de la alte aplicații. (vedeți mesajele WM_USER pentru plug-in-urile de mai jos):
0 Specifică versiunea Winamp care rulează. Versiunile vor fi 0x20yx pentru 2.yx. O modalitate buna de a determina fereastra potrivita, etc.
100 Începe redarea listei de redare. Aproape la fel ca jocul în Winamp, dar nu la fel.
101 Ștergeți lista de redare.
102 Redarea piesei selectate.
103 Cauzează Winamp pentru a schimba dosarul la C: \\ download
104 Returnează starea redării. Dacă 'ret' este 1, Winamp se joacă. Dacă "ret" este 3, Winamp este întrerupt. În caz contrar, redarea se oprește.
105 Dacă datele sunt 0, poziția de redare este în milisecunde. Dacă - 1, poziția de redare este în secunde. Returnează la -1, dacă nu este redat sau apar erori.
106 Căutarea unui loc într-o pistă. Datele trebuie să fie în milisecunde.
120 Salvarea listei de redare în Winampdir \ winamp.m3u și revenirea la poziția curentă din listă.
121 Reglați poziția din lista de redare în poziția specificată în "date".
122 Reglarea sunetului în funcție de "date", care poate fi între 0 (tăcere) și 255 (maxim).
123 Reglarea balanței în funcție de "date", care poate fi între 0 (stânga) și 255 (dreapta).
124 Returnează lungimea listei de redare curente în melodii.
125 Returnează poziția din lista de redare curentă în melodii (este necesar Winamp 2.05+).
126 Extragere informații despre pista curentă: frecvență (adică, 44100), în cazul în care „date“ sunt egale cu 0, rata de biți, în cazul în care „date“ sunt egale cu 1 și kannalov număr dacă „date“ sunt 2. (necesita Winamp 2.05+)