AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Napster aktuellen Track auslesen

Ein Thema von dutyfree · begonnen am 10. Apr 2009 · letzter Beitrag vom 10. Apr 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#11

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 14:45
Is auch keien gute Idee, da eine Funktion keine Seiteneffekte haben sollte.

Wenn du das Handle im Programm anzeigen willst, dann mach das mit dem Wert, den dir der Funktionsaufruf zurückgibt, und nicht in der Funktion
  Mit Zitat antworten Zitat
dutyfree

Registriert seit: 9. Mär 2009
83 Beiträge
 
#12

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 14:51
Da haben wir ja das Problem
Ich rufe die Function gar nicht auf, ich hab irgendwie nur den Code reinkopiert und die startet bei jedem Programmstart automatisch, deswegen musste ich die nicht aufrufen, weiss gar nicht wies geht, mich irritieren diese "HWND"'s..
kannst du mir bitte ein beispiel aufruf für die function FindWindowEx2 mit Rückgabe der Handle machen? http://www.frank-und-tina-in-paris.d...ilie_danke.gif
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#13

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 15:00
Du musst den ganzen Code doch nur noch richtig zusammensetzen.
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;


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);
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(GetWinText(wndChild));
    end;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
dutyfree

Registriert seit: 9. Mär 2009
83 Beiträge
 
#14

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 15:32
Vielen Dank! Eigentlich wäre jetzt alles geklärt, aber ich habe rausgefunden, dass wenn der auszulesende Namen irgendwelche Sonderzeichen hat, in meinem Falle war dies ein Fragezeichen oder so ein ' dann stürz das Programm ab.. Irgendeine Möglichkeit das zu umgehen?
  Mit Zitat antworten Zitat
dutyfree

Registriert seit: 9. Mär 2009
83 Beiträge
 
#15

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 16:12
Irgendwie ist da was krank..
Spiele ich z.B. Pokerface von Lady Gaga ab klappt alles perfekt, hab den Interpret und Titel in meinem Proggi stehen, spiele ich danach Wrong von Depeche Mode kommt sofort eine Exception. Paar mal mit den beiden Liedern getestet, immer das gleiche. Beide haben kein einziges Sonderzeichen drin.
Just Dance von Lady Gaga geht au, aber Schwarz Zu Blau von Peter Fox wiederum nicht.. was ist da los?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 16:17
Was für eine Exception?
Markus Kinzler
  Mit Zitat antworten Zitat
dutyfree

Registriert seit: 9. Mär 2009
83 Beiträge
 
#17

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 17:16
Es kommen sehr viele, bei manchen Liedern mehr bei anderen weniger, gerade bei einem beispiel song kamen erstmal so 4 stück irgendwann öffnete sich aber die FForm (hab immer auf fortführen geklickt) dann kammen nochmal so 3 oder 4 die konnte ich dann an die Seite ziehen und unten den Fehlermeldungen stand schön der Titelname, es funktioniert also aber irgendetwas ist da noch kaputt.. Hab das Projekt mal angehängt (paar posts unten)
Miniaturansicht angehängter Grafiken
10-04-2009_17-12-13fkou_456.jpg   10-04-2009_17-15-33idp9_455.jpg   10-04-2009_17-12-01kj7f_169.jpg   10-04-2009_17-11-380h5x_178.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#18

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 17:18
Und dein Code sieht jetzt wie aus?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#19

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 17:20
Hi!

Bitte hänge die Bilder an den Thread an, statt sie per [img] einzubinden.
Das zerstört dann das Layout nicht und verringert die Ladezeiten enorm.
Außerdem sind wir dann nicht von externen Servern abhängig.


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
dutyfree

Registriert seit: 9. Mär 2009
83 Beiträge
 
#20

Re: Napster aktuellen Track auslesen

  Alt 10. Apr 2009, 17:23
Ok sorry.. dachte das wäre so vielleicht leichter für euch
ach ja sry, ist ziemlich unsauber geproggt und das mit den buttons war jetzt auch erstmal so ne notlösung, aber das dürfte ja nicht das problem sein, wie gesagt, bei manchen liedern gehts bei anderen nciht obsohls bei den anderen ja auch iwie geht nur, dass dann noch unzählbare Fehlermeldungen dazukommen..
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38 Uhr.
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