Autor Beitrag
caty
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 09.12.02 16:04 
Hallo Leute

Ich hab die Suchfunktion benutzt, und leider nichts gefunden, vielleicht könnt ihr mir helfen. Ich brauch für ein Terminalprogramm den Songtitel des akutell in Winamp gespielten Lied..

Ich hab folgendes gefunden:

ausblenden Quelltext
1:
2:
3:
winamp(wm_user,Data,Function,Result)

212 : Retrieves (and returns a pointer in 'ret') a string that contains the title of a playlist entry (indexed by 'data'). Returns NULL if error, or if 'data' is out of range.


Mhm, jetzt weiss ich leider nicht sehr viel über Pointer. Also der Rückgabewert ist ein 5stellige Integer-Wert. Wie bekomm ich jetzt den Namen davon.

Tut mir echt leid wenns eine Anfängerfrage ist
DaFox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 189



BeitragVerfasst: Di 10.12.02 01:10 
Hi!

Zitat:

Here is a list of the currently supported ids that you can only use from within Winamp plug-ins (since they depend on running in the same process as Winamp):

(www.winamp.com/nsdn/...2x/dev/sdk/api.jhtml)


Dieser Text steht über dem, den Du gepostet hast und heißt soviel wie, dass diese Funktionen nur Plug-Ins zur Verfügung steht.

Allerdings:

Zitat:

since they depend on running in the same process as Winamp


Es ruft also mal wieder der Giftschrank! :lol:

Gruß,
Markus
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Di 10.12.02 17:41 
auf der seite www.stnd.de/ gibt es super winamp tutorials + eine kompo die dir das ganze API zugs abnimmt !!! einfach im menü den punkt Programming anklicken !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
caty Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 10.12.02 18:00 
Hoi Leute, also des bringt mich alles ned wirklich weiter, da ich leider kein Plugin machen darf (muss ein Standanloneapp sein)

Aber ich hab mich mal durch die API Funktionen durchgewurschtelt und ich habs geschaftt. Sollte also jemand das gleiche vorhaben wie ich macht er es bitte so:



ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
function GetWinampFilename(data:Integer): String;
var Text, tempStr: String;
    hwndWinamp, TempHandle : THandle;
    dat2: array[0..500] of Char;
    TrackPos: Integer;
    temp, MPointer: Cardinal;
begin
  hwndWinamp:= FindWindow('Winamp v1.x',nil);
  if data<0 then TrackPos:= SendMessage(hwndWinamp,WM_USER,0 , 125) else TrackPos:=data;
  MPointer:= SendMessage(hwndWinamp,WM_USER,TrackPos , 212);
  GetWindowThreadProcessId(hwndWinamp,TempHandle);
  hwndWinamp:= OpenProcess(PROCESS_ALL_ACCESS,False,TempHandle);
  ReadProcessMemory(hwndWinamp, Pointer(MPointer), @dat2,500,temp);
  CloseHandle(hwndWinamp);
  tempStr:= dat2;  // ;-)
  Result:= tempStr;
end;


Mit GetWinampFilename(XX) holt er sich den Titel des XXten Lieds mit GetWinampFilename(-1) den des aktuell gespielten Liedes...

Cya[/b]
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 10.12.02 18:12 
Man solle noch ein paar Sicherheitsbafragen einbauen und den Rückgabe wert würde ich nach String casten:
tempStr:= String(dat2);
Warum machst du es eigentlich nicht so:
result := String(dat2);
Dann sparst du dor eine Varibale.