Find all our projects in development below.
All source code is GNU General Public License (GPL)
Browsing Utility/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