用mouse_event模拟鼠标事件Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) Private Const MOUSEEVENTF_ABSOLUTE = &H8000 ' absolute move Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' middle button down Private Const MOUSEEVENTF_MIDDLEUP = &H40 ' middle button up Private Const MOUSEEVENTF_MOVE = &H1 ' mouse move Private Const MOUSEEVENTF_RIGHTDOWN = &H8 ' right button down Private Const MOUSEEVENTF_RIGHTUP = &H10 ' right button up Private Sub MouseClick(x As Long, y As Long) Dim SCR_W As Long Dim SCR_H As Long
Private Const MOUSEEVENTF_ABSOLUTE = &H8000 ' absolute move
Private Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down
Private Const MOUSEEVENTF_LEFTUP = &H4 ' left button up
Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' middle button down
Private Const MOUSEEVENTF_MIDDLEUP = &H40 ' middle button up
Private Const MOUSEEVENTF_MOVE = &H1 ' mouse move
Private Const MOUSEEVENTF_RIGHTDOWN = &H8 ' right button down
Private Const MOUSEEVENTF_RIGHTUP = &H10 ' right button up
Private Sub MouseClick(x As Long, y As Long)
Dim SCR_W As Long
Dim SCR_H As Long
SCR_W = Screen.Width / 15
SCR_H = Screen.Height / 15
'移动鼠标
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, Int(x / SCR_W * 65535), Int(y / SCR_H * 65535), 0, 0
'左键按下
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
DoEvents
'左键放开
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
DoEvents
End Sub
调用举例:
在1024*768下点击屏幕中央,在屏幕中央放一个点击以后会有效果的东西看看结果MouseClick 512, 384
Dim eventIE As SHDocVw.InternetExplorer
Dim objIE As Object
For Each objIE In dWinFolder
Set eventIE = objIE
eventIE.Quit
Next
Set eventIE = objIE
eventIE.Quit
Next这样不太好,把所有的ie窗口都关闭了,最好加个判断
谢谢了,大哥
[email protected]