to get the current song being played by Winamp, try this:
VB Code:
  1. Option Explicit
  2. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  3. Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  4. Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
  5.  
  6. Private Sub Command1_Click()
  7. Dim Wmp As Long, strSong As String, Buff As Long
  8.  
  9. 'here Winamp v1.x is the classname of Winamp, and is different for
  10. 'different versions i suppose, so check the classname using Spy++
  11. Wmp = FindWindow("Winamp v1.x", vbNullString)
  12.  
  13. If Wmp <> 0 Then
  14.     Buff = GetWindowTextLength(Wmp)
  15.  
  16.     strSong = Space(Buff + 1)
  17.    
  18.     GetWindowText Wmp, strSong, Len(strSong)
  19.    
  20.     'when winamp plays a song, it includes "- Winamp" at
  21.     'the end, to eliminate it use
  22.     strSong = Replace(strSong, " - Winamp", vbNullString)
  23.    
  24.     MsgBox "Song Playing: " & strSong
  25. Else
  26.     MsgBox "Winamp is NOT open", vbOKOnly, "Error - Winamp not found"
  27. End If
  28.  
  29. End Sub
Harsh