使用PostMessage.Private Function SendClick(hwnd As Long, mX As Long, mY As Long) '发送点击消息 Dim I As Long
I = PostMessage(hwnd, WM_LBUTTONDOWN, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000) I = PostMessage(hwnd, WM_LBUTTONUP, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000) End Function调用SendClick,指定句柄,及相对坐标就可以了.
比如:The WM_MOUSEMOVE message is posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse.A window receives this message through its WindowProc function. SyntaxWM_MOUSEMOVE WPARAM wParam LPARAM lParam;
ParameterswParam Indicates whether various virtual keys are down. This parameter can be one or more of the following values. MK_CONTROL The CTRL key is down. MK_LBUTTON The left mouse button is down. MK_MBUTTON The middle mouse button is down. MK_RBUTTON The right mouse button is down. MK_SHIFT The SHIFT key is down. MK_XBUTTON1 Windows 2000/XP: The first X button is down. MK_XBUTTON2 Windows 2000/XP: The second X button is down. lParam The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. Return ValueIf an application processes this message, it should return zero. ResUse the following code to obtain the horizontal and vertical position:xPos = GET_X_LPARAM(lParam); yPos = GET_Y_LPARAM(lParam); You can also use the MAKEPOINTS macro to convert the lParam parameter to a POINTS structure.
'发送点击消息
Dim I As Long
I = PostMessage(hwnd, WM_LBUTTONDOWN, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000)
I = PostMessage(hwnd, WM_LBUTTONUP, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000)
End Function调用SendClick,指定句柄,及相对坐标就可以了.
SetWindowsHookEx
在发送消息什么的
然后用SendMessage或者PostMessage向那个窗口发送消息。鼠标相关的消息有WM_LBUTTONDOWN,WM_LBUTTONUP,WM_RBUTTON.......,WM_MOUSEMOVE等等,对应这些消息的LParam,WParam具体要求是什么,直接去看看MSDN
SyntaxWM_MOUSEMOVE WPARAM wParam
LPARAM lParam;
ParameterswParam
Indicates whether various virtual keys are down. This parameter can be one or more of the following values.
MK_CONTROL
The CTRL key is down.
MK_LBUTTON
The left mouse button is down.
MK_MBUTTON
The middle mouse button is down.
MK_RBUTTON
The right mouse button is down.
MK_SHIFT
The SHIFT key is down.
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.
lParam
The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area. The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.
Return ValueIf an application processes this message, it should return zero.
ResUse the following code to obtain the horizontal and vertical position:xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam); You can also use the MAKEPOINTS macro to convert the lParam parameter to a POINTS structure.
http://topic.csdn.net/t/20041021/20/3479192.html