Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Napster aktuellen Track auslesen (https://www.delphipraxis.net/132341-napster-aktuellen-track-auslesen.html)

dutyfree 10. Apr 2009 11:15


Napster aktuellen Track auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Morgen,
ist es irgendwie möglich den zurzeit spielenden Titel in der Napster Music Flatrate auszulesen?

fkerber 10. Apr 2009 11:16

Re: Napster aktuellen Track auslesen
 
Hi!

Steht er zufällig im Fenstertitel oder so?


Ciao, Frederic

dutyfree 10. Apr 2009 11:28

Re: Napster aktuellen Track auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Irgendwie hat das kein Fenster, aber im Taskmanager steht z.B. nur "Napster"..
Also eher nicht..

aber um kurz nur zu sagen was ich damit will, ich lass immer playlists durchlaufen und chill dabei aufm sofa und da kann ich dann nicht erkennen wie das aktuelle lied heißt, deswegen würd ichs gerne einfach in nem kleinen proggi in nem laben groß ausgeben lassen..

mkinzler 10. Apr 2009 11:47

Re: Napster aktuellen Track auslesen
 
was meint den WinSpy

dutyfree 10. Apr 2009 12:11

Re: Napster aktuellen Track auslesen
 
Ich hab das programm runtergeladen, dann das Napster fenster ausgewählt und irgendwo hab ich den Track dann gefunden unter
Zitat:

Static "Trackname" | 656212
Kann ich mit dem Programm dann auch auslesen lassen.
Nur wie gehe ich jetzt weitervor? Wie binde ich das in ein eigenes Programm ein?

mkinzler 10. Apr 2009 12:18

Re: Napster aktuellen Track auslesen
 
Ich nehme an, dass Toms das Programm in Delphi entwickelt hat. Deshalb müsste es auch in deinem eigene Programm gehen. Vielleicht helfen dir auch Luckies Links im verlinkten Thread

Meflin 10. Apr 2009 12:24

Re: Napster aktuellen Track auslesen
 
Zitat:

Zitat von dutyfree
Nur wie gehe ich jetzt weitervor? Wie binde ich das in ein eigenes Programm ein?

Das Tool hat doch CodeGeneratoren eingebaut, die dir den passenden Dlphi-Code gleich ausspucken ;)

dutyfree 10. Apr 2009 12:41

Re: Napster aktuellen Track auslesen
 
Ja eig cool, ich bekomm da ein Code:

Delphi-Quellcode:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
  i: Word;
  hChild: HWND;
begin
  hChild := 0;
  Result := 0;
  Dec(ChildNr);
  for i := 0 to ChildNr do
  begin
    hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
    if hChild = 0 then
      Break;
    Result := hChild;
  end;
end;

var
  wndMain, wndChild: HWND;
begin
  wndMain := FindWindow('PPAppFrameClass','Napster');
  if wndMain <> 0 then
  begin
    wndChild := FindWindowEx(wndMain, 0, 'CUISplitterWindow', nil);
    wndChild := FindWindowEx(wndChild, 0, '#32770', nil);
    wndChild := FindWindowEx(wndChild, 0, 'CUIHorSplitterWindow', nil);
    wndChild := FindWindowEx(wndChild, 0, '#32770', nil);
    wndChild := FindWindowEx2(wndChild,'Static', 6);
    if wndChild <> 0 then
    begin
      ShowMessage('Window Handle: ' + IntToStr(wndChild));
      FlashControl(wndChild); // internal function
    end;
  end;
Bei FlashControl meldet er zwar ein Fehler, das hab ich mal rausgenommen. Aber das einzige, was er mir dann ausgibt ist
Zitat:

Window Handle: 1049326
Das müsste ich halt noch auslesen, eben dieses Static "Name"

Meflin 10. Apr 2009 13:16

Re: Napster aktuellen Track auslesen
 
Das Handle hast du ja dann schonmal, das war eigentlich der schwerste Teil.

Mit MSDN-Library durchsuchenWM_GETTEXT solltest du jetzt eigentlich den Text auslesen können, in etwa so:
Delphi-Quellcode:
function GetWinText(aHandle: HWND): string;
var
  iBuffLen : Integer;
  pBuffer : PChar;
begin
  iBuffLen := SendMessage(aHandle, WM_GETTEXTLENGTH, 0, 0);
  if iBuffLen > 0 then begin
    Inc(iBuffLen);
    GetMem(pBuffer, iBuffLen);
    try
      SendMessage(aHandle, WM_GETTEXT, iBuffLen, LPARAM(pBuffer));
      Result := pBuffer;
    finally
      FreeMem(pBuffer);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(GetWinText(Handle));
end;

dutyfree 10. Apr 2009 13:41

Re: Napster aktuellen Track auslesen
 
Yeah Danke! geht..
einziges kleines problem, in der Function um das Handle zu bekommen, steht ja am Ende Showmessage bla bla und da gibt er das Handle aus, was sich in wndChild befindet. Wenn ich da jetzt einfach hinsetze label4.caption := inttostr(wndChild); geht das nicht, kommt ne Exception..


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:08 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz