ďťż

Ładny brzuch

Chciałem napisać fragment kodu w C++ który by pobrał tytuł odtwarzanej piosenki w odtwarzaczu.
Interesuje mnie, jak to zrobić inaczej niż za pomocą pobrania tytułu okna...
Odtarzacze:
-Foobar2000
-Winamp
-WindowsMediaPlayer



Pobierz SDK tych programów i działaj. Kody od wmp i winamp'a są pisane w cpp i c więc nie będziesz miał problemów :)


Chciałem napisać fragment kodu w C++ który by pobrał tytuł odtwarzanej piosenki w odtwarzaczu.
Interesuje mnie, jak to zrobić inaczej niż za pomocą pobrania tytułu okna...
Odtarzacze:
-Foobar2000
-Winamp
-WindowsMediaPlayer


nie latwiej kilka findwindow? :) albo proponuje zapoznac sie z enumwindows ... :)



No i właśnie o to chodzi!
Zrobiłem pobranie napisu z belki, ale w winampie jest przewijanie tytułu na pasku, a w foo można coś tam podobno zmienić, z wmp nie korzystam ale obsługa musi być :/
Użytkownik BoJeR edytował ten post 20 luty 2006, 22:37

No i właśnie o to chodzi!
Zrobiłem pobranie napisu z belki, ale w winampie jest przewijanie tytułu na pasku, a w foo można coś tam podobno zmienić, z wmp nie korzystam ale obsługa musi być :/


winampa sto lat nie uzywalem, ale wydaje mi sie ze tam tekst jest Winamp - [tytul utworu] wiec nawet jesli sie "przewija" mozesz namierzyc "Winamp", nawet gdyby bylo "zlamane" ..

Co prawda to jest delphi, ale operuje wlasciwie tylko na winapi. Byc moze sie przyda: http://4programmers...._programu_(Api)

(to do winampa)
Użytkownik Einzeinbleth edytował ten post 21 luty 2006, 08:07

Co prawda to jest delphi, ale operuje wlasciwie tylko na winapi. Byc moze sie przyda: http://4programmers...._programu_(Api)

(to do winampa)

Tutaj masz tytułaktualnej piosenki w Winampie:
http://www.planet-so...Id=433&lngWId=7

Oba przejrzałem (pascala nie znam), ale nie znalazłem
zaraz wam podeśle co wychodzi z tego(winamp) po włączeniu przewijania.

A więc tak:

Pobieranie HWND:
//--------------------------------------------------------------------------- // WinAmp.cpp //--------------------------------------------------------------------------- #include <windows.h> extern int playerID; extern char plName[16]; HWND FindPlayer(int wanted) {  HWND hwnd;  if (wanted == 0 || wanted == 4) {      hwnd = FindWindow("Sonique Window Class", NULL);      if (hwnd != 0) {          playerID = 4;          strcpy(plName, "Sonique");          return hwnd;      }  }  if (wanted == 0 || wanted == 3) {      hwnd = FindWindow("Studio", NULL);      if (hwnd != 0) {          playerID = 3;          strcpy(plName, "Winamp 3");          return hwnd;      }  }  if (wanted == 0 || wanted == 2) {      hwnd = FindWindow("Winamp v1.x", NULL);      if (hwnd != 0) {          playerID = 2;          strcpy(plName, "Winamp 2/5");          return hwnd;      }  }  if (wanted == 0 || wanted == 5) {      hwnd = FindWindow("{DA7CD0DE-1602-45e6-89A1-C2CA151E008E}", NULL);      if (hwnd != 0) {          playerID = 5;          strcpy(plName, "Foobar");          return hwnd;      }  }  if (wanted == 0 || wanted == 5) {      hwnd = FindWindow("{DA7CD0DE-1602-45e6-89A1-C2CA151E008E}/1", NULL);      if (hwnd != 0) {          playerID = 5;          strcpy(plName, "Foobar beta");          return hwnd;      }  }  playerID = 0;  return 0; }

teraz tylko:
//--------------------------------------------------------------------------- // main.cpp //--------------------------------------------------------------------------- using namespace std; int main( int argc, char * argv[] ) {  HWND hwnd_player = FindPlayer(0);      if (hwnd_winamp == 0) return 1;      char text[255];    GetWindowText(hwnd_player,text,255);    cout <<plName<<":"<<endl<<text;  return 0; }

po kompilacji otrzymuje:
(winamp5 w traju)

Winamp 2/5:
2. 01. Enjoy vs. Strider - Skateboy (Strider Remix) - Winamp

z przewijaniem:

Winamp 2/5:
ider - Skateboy (Strider Remix) - Winamp *** 2. 01. Enjoy vs. Strider - Skateboy (Strider Remix) - Winamp


Co wy na to?
Jakieś inne pomysły?
Użytkownik BoJeR edytował ten post 21 luty 2006, 18:46
A nie możesz napisać plugina do winamp'a (czy czego tam chcesz) i potem z tego pluginu wysylac info do swojej aplikacji ?
Z poziomu programów masz większe możliwości.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •