Projects

Find all our projects in development below.
All source code is GNU General Public License (GPL)

x10 Java

Browsing WMPMod.bas (2.23 KB)

Attribute VB_Name = "WMPMod"

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) 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_COMMAND = &H111

Private WMPHandle As Long
Public Function WMPPlayPause() As Long
Dim WMPMenuHandle As Long
Dim WMPMenuID As Long
    WMPMenuHandle = GetWMPMenuHandle
    If WMPMenuHandle = 0 Then Exit Function
    WMPMenuID = GetMenuItemID(WMPMenuHandle, 0)
    WMPPlayPause = SendMessage(WMPHandle, WM_COMMAND, WMPMenuID, ByVal WMPMenuHandle)
End Function

Public Function WMPStop() As Long
Dim WMPMenuHandle As Long
Dim WMPMenuID As Long
    WMPMenuHandle = GetWMPMenuHandle
    If WMPMenuHandle = 0 Then Exit Function
    WMPMenuID = GetMenuItemID(WMPMenuHandle, 1)
    WMPStop = SendMessage(WMPHandle, WM_COMMAND, WMPMenuID, ByVal WMPMenuHandle)
End Function

Public Function WMPNext() As Long
Dim WMPMenuHandle As Long
Dim WMPMenuID As Long
    WMPMenuHandle = GetWMPMenuHandle
    If WMPMenuHandle = 0 Then Exit Function
    WMPMenuID = GetMenuItemID(WMPMenuHandle, 4)
    WMPNext = SendMessage(WMPHandle, WM_COMMAND, WMPMenuID, ByVal WMPMenuHandle)
End Function

Public Function WMPPrev() As Long
Dim WMPMenuHandle As Long
Dim WMPMenuID As Long
    WMPMenuHandle = GetWMPMenuHandle
    If WMPMenuHandle = 0 Then Exit Function
    WMPMenuID = GetMenuItemID(WMPMenuHandle, 3)
    WMPPrev = SendMessage(WMPHandle, WM_COMMAND, WMPMenuID, ByVal WMPMenuHandle)
End Function

Private Function GetWMPMenuHandle() As Long
Dim MainMenuHandle As Long
Dim SubMenuHandle As Long
    WMPHandle = FindWindow("WMPlayerApp", vbNullString)
    If WMPHandle Then
        MainMenuHandle = GetMenu(WMPHandle)
        If MainMenuHandle Then GetWMPMenuHandle = GetSubMenu(MainMenuHandle, 2)
    End If
End Function


Download WMPMod.bas

Back to file list


Back to project page