AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi WMP aktueller Titel?

WMP aktueller Titel?

Ein Thema von Knotti · begonnen am 15. Okt 2006 · letzter Beitrag vom 6. Jul 2007
 
EWeiss
(Gast)

n/a Beiträge
 
#13

Re: WMP aktueller Titel?

  Alt 6. Jul 2007, 22: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)
Angehängte Grafiken
Dateityp: jpg wmp11_180.jpg (22,8 KB, 30x aufgerufen)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz