if your not a plugin, you cant get it anyway, at least I dont think, I tried several times but gave up, but going about it is a lil more difficult than the code you have, here's how I know of to get it..
first off, the number you need is 211
secondly, if you manage to get that far, what that returns wont be a string, but rather a pointer to a string in memory, here's where you need to get smooth. Declare a fixed length string of 256 characters in length, fill it with 0's, meaning zeros, next, using the CopyMemory Api in windows to copy the string from the pointer given you, to the string you created..
Declare Sub CopyMemory Lib "kernel32" Alias "RtlCopyMemory" _
(ByVal Dest As Long, ByVal Source As Long, strLength As Long)
in reverse order again, strLength is 256, Source is the LONG POINTER!, nothing else, no string, no nothing, make sure you Declare Source as long, this is what gets returned by the 211 function, it must be long or it will crash, and remember, it's only a pointer.
Dest is also a pointer, but the pointer to your own string..for reasons I still dont understand, I cant simply pass a string to it, it doesnt work
, so what you do, is this, Dest = StrPtr(YourDestVar)
That will return a pointer to the contents of YourDestVar, which the copymemory api should fill up with the filename called by the 211 function!
hehe, now if you follow those near gibberish instructions, your in luck, if not, I'm used to it, ask, and I'll dig up some code
Scrag that, I'll make it easy, but remember, this will only work if you compile to a referencable dll that winamp can load..
Dim index As Long
Dim Dest As Long
Dim Source As Long
Dim DestString As String * 256
index = SendMessage(WinAMP_FindWindow, WM_USER, 0, 125)
Source = SendMessage(WinAMP_FindWindow, WM_USER, index, 211)
Dest = StrPtr(DestString)
CopyMemory Dest, Source, 256
Label2.Caption = DestString
And I think that's it, if it doesnt work, has a beef, slags your computer, or eats your pets, dont gripe at me, that code should work