Ok, du fügst folgende Deklarationen zu deinem Projekt hinzu:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE
Hier dann ne kleine Funktion, die den Titel des Liedes zurückgibt:
Private Function WinampGetSong() As String
Dim hWinamp As Long, nTextLen As Long
Dim sText As String
hWinamp = FindWindow("Winamp v1.x", vbNullString)
If hWinamp = 0 Then Exit Function
nTextLen = SendMessage(hWinamp, WM_GETTEXTLENGTH, 0, ByVal 0)
sText = String$(nTextLen, Chr$(0))
SendMessage hWinamp, WM_GETTEXT, nTextLen, ByVal sText
WinampGetSong = Right$(sText, Len(sText) - InStr(1, sText, Chr$(32)))
If InStr(1, WinampGetSong, " - Winamp") <> 0 Then WinampGetSong = Left$(WinampGetSong, InStr(1, sText, " - Winamp") - 4)
End Function
Wichtig dabei ist, dass der Benutzer bei Winamp die Option "Scroll song title in taskbar" ausgeschaltet hat, sonst wird net unbedingt alles angezeigt...