美好的一天!
我有一个代码可以从IE窗口移动鼠标光标并发送鼠标左键。
Function MoveMouseCursor(ByVal X As Long, ByVal Y As Long, hwnd As Long)
If hwnd = 0 Then
SetCursorPos X, Y
Else
Dim lpPoint As POINTAPI
lpPoint.X = X
lpPoint.Y = Y
ClientToScreen hwnd, lpPoint
SetCursorPos lpPoint.X, lpPoint.Y
mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, 0&, 0&
mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&
End If
End Function
我能够获得我想要发送鼠标点击的IE窗口的HWND。 我想要做的是在不移动鼠标指针的情况下将鼠标单击发送到IE窗口,这样即使宏正在运行,我仍然可以使用鼠标。 到目前为止,在搜索时,我想出了这个代码,但我认为它还没有工作。使用API SendMessage我认为是更好的解决方案,但我不能让它工作。希望有人能帮助我! :)
这是我目前的代码。
Dim DaWord As Long
DaWord = MakeDWord(IEWin.Width / 2, IEWin.Height / 2)
Sleep 200
SendMessage hwnd, WM_LBUTTONDOWN, 0, ByVal DaWord
Sleep 200
SendMessage hwnd, WM_LBUTTONUP, 0, ByVal DaWord
Private Function MakeDWord(ByVal LoWord As Integer, ByVal HiWord As Integer) As Long
MakeDWord = (HiWord * &H10000) Or (LoWord And &HFFFF&)
End Function