Imports System.Windows.Automation
Module qqmusic
Public Function QQMusicPlay()
Dim p1() As Process = Process.GetProcessesByName("QQMusic")
Dim qqhwnd As IntPtr
If p1.Count > 0 Then
qqhwnd = p1(0).MainWindowHandle()
Debug.Print(qqhwnd)
Else
Dim p2 As Process
p2 = Process.Start("F:\Program Files (x86)\tencent\qqmusic\QQMusic.exe")
qqhwnd = p2.MainWindowHandle
End If
Dim uia As AutomationElement = AutomationElement.FromHandle(qqhwnd)
'倎
'倆
Dim play As AutomationElement = uia.FindFirst(TreeScope.Descendants, New PropertyCondition(AutomationElement.NameProperty, "倎")) '播放
If Not play Is Nothing Then
UiaClick(qqhwnd, play)
End If
End Function
Public Function QQMusicPause()
Dim p1() As Process = Process.GetProcessesByName("QQMusic")
Dim qqhwnd As IntPtr
If p1.Count > 0 Then
qqhwnd = p1(0).MainWindowHandle()
Debug.Print(qqhwnd)
Else
Dim p2 As Process
p2 = Process.Start("F:\Program Files (x86)\tencent\qqmusic\QQMusic.exe")
qqhwnd = p2.MainWindowHandle
End If
Dim uia As AutomationElement = AutomationElement.FromHandle(qqhwnd)
'倎
Dim pause As AutomationElement = uia.FindFirst(TreeScope.Descendants, New PropertyCondition(AutomationElement.NameProperty, "倆")) 'pause
If Not pause Is Nothing Then
UiaClick(qqhwnd, pause)
End If
End Function
Private Function UiaClick(qqhwnd As IntPtr, element As AutomationElement)
Dim RECT0 As Windows.Rect = element.Current.BoundingRectangle()
'SetForegroundWindow(hwnd)
Dim ClienRect As Module1.RECT
GetWindowRect(qqhwnd, ClienRect)
Dim LPARAM As Int32 = (RECT0.Left - ClienRect.Left + 10 + (RECT0.Top - ClienRect.Top + 10) * (65536))
SendMessage(qqhwnd, WM_LBUTTONDOWN, 1, LPARAM)
'Threading.Thread.Sleep(500)
SendMessage(qqhwnd, WM_LBUTTONUP, 1, LPARAM)
End Function
End Module