Thema: Delphi WMP aktueller Titel?

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#13

Re: WMP aktueller Titel?

  Alt 6. Jul 2007, 23:01
Zitat von arne99:
Nein, sollst ja nicht. Schaff ich dann ja auch noch. Aber diese Infos sind schon fuer mich "Gold" wert.
Also dank dir, wenn ich's gepackt hab findest du alle Diskussionsthemen ueber iTunes, WMP, WinAmp und Amazon der letzten 2 Wochen als Freeware Project hier DP Gruß!
Falls du dich etwas mit VB auskennst ...
Kleiner snipped .. hat funktioniert bis WMP10

Das ganze funktioniert dann ohne einbinden der TypeLib einfach über API'S

Die 11 macht ärger.

Code:
Option Explicit

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long

Public Function strGetText(lngHwnd As Long) As String
Dim ilngLength As Long
Dim strBuffer As String    
    ilngLength = SendMessageLong(lngHwnd, &HE, 0, 0)  
    strBuffer = String$(ilngLength, 0)  
    SendMessageByString lngHwnd, &HD, ilngLength + 1, strBuffer  
    strGetText = strBuffer
    Exit Function    
    Resume Next
End Function

Public Function getWMPT() As String
Dim stringtxt As String
Dim wmplng As Long

    wmplng = FindWindow("WMPlayerAPP", vbNullString)
    If wmplng = 0 Then
        getWMPT = "WMP is not loaded currently"    
        Else
            stringtxt = strGetText(wmplng)
        If stringtxt = "Windows Media Player" Then
            getWMPT = "No Song is currently being played"
        Else
            stringtxt = wmplng
            getWMPT = Trim$(Left$(stringtxt, InStr(1, stringtxt, " - Windows Media Player")))
        End If
    End If    
    Exit Function  
    Resume Next      
 End Function
gruss

EDIT:
Erklärung:
Das Caption der bis 10 Reihe verändert sich.
Also .. Standartmäßig ist es Windows Media Player
Wenn ein Song spielt dann ändert es sich zu 'Song - Windows Media Player'

Du musst dann nur den String spliten '-' Und hast den aktuellen Titel der gerade spielt.

EDIT2:
Geht auch mit dem 11
Setzt allerdings vorraus das der Player im Minimodus ausgeführt und das Klassische Menü aktiviert ist.
Erst dann ändert sich das Caption vom Player

Achso vergessen!
Das Caption ändert sich 3x mal
1. Album
2. Interpret
3. Titel
Somit hast du also 3 Informationen gleichzeitig (nur beim WMP11)
Miniaturansicht angehängter Grafiken
wmp11_180.jpg  
  Mit Zitat antworten Zitat