Probleme mit SendMessage um infos aus Winamp auszulesen
-
Hallo!
Ich schreibe mir gerade ne kleine externe Applikation, welche unter anderem mit Winamp "kommuniziert".
dabei verwende ich unter anderem folgende Funktion:#define IPC_GETINFO 126
/* (requires Winamp 2.05+)
** int inf=SendMessage(hwnd_winamp,WM_WA_IPC,mode,IPC_GETINFO);
** IPC_GETINFO returns info about the current playing song. The value
** it returns depends on the value of 'mode'.
** Mode Meaning
** ------------------
** 0 Samplerate (i.e. 44100)
** 1 Bitrate (i.e. 128)
** 2 Channels (i.e. 2)
** 3 (5+) Video LOWORD=w HIWORD=h
** 4 (5+) > 65536, string (video description)
*/
hab sie aus ner Header Datei von Winamp raus.Funktioniert auch wenn ich als "mode" 0, 1 oder 2 übergebe. würde aber auch gerne den Titel des Songs auslesen: wie funktioniert das? muss ich da die funktion einem Char array zuweisen?
bitte um hilfe!
lg Stefan
-
Also, guck mal plz hier rein:
http://www.c-plusplus.net/forum/viewtopic-var-p-is-931558.html#931558Das ist nen angefangener Tread, den ich weitergeführt habe ^^
So zu deiner Frage hier die Antwort:
/*So sieht mein Codes aus Video habe ich vernachlässigt, da mein Progie nur dazu dient, als Fernbedienung zu fungieren, und dies ohne Monitor!*/ //LE == Label edit !!! ^^ //Handle deklarieren! HANDLE hwnd_winamp; //IPC_GETINFO /* ** Mode Meaning ** ------------------ ** 0 Samplerate (i.e. 44100) ** 1 Bitrate (i.e. 128) ** 2 Channels (i.e. 2) ** 3 (5+) Video LOWORD=w HIWORD=h ** 4 (5+) > 65536, string (video description) */ //Fenster finden hwnd_winamp = FindWindow("Winamp v1.x",NULL); //Funktionen: LE_Bitrate->Text = SendMessage(hwnd_winamp,WM_WA_IPC,1,IPC_GETINFO); LE_Samplerate->Text = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETINFO); //Diese Funktion liefert nun mehrer Werte zurück muste abfangen habe ich via Switch - Case gelöst ^^ switch (SendMessage(hwnd_winamp,WM_WA_IPC,2,IPC_GETINFO)) { case 1: LE_Channels->Text = "Mono"; break; case 2: LE_Channels->Text = "Stereo"; break; case 3: LE_Channels->Text = "Undefiniert Anzahl Channels: <3"; break; }Denke das hilft dir weiter!
Wenn du ne Lösung fürs Titel auslesen gefunden hast, poste Sie bitte in meinen Tread thx

MFG
Dennis
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.