在屏幕的精确位置,怎样模拟鼠标事件,是不是用mouse_event函数?(50分)

  • 主题发起人 delphi_lsl
  • 开始时间
D

delphi_lsl

Unregistered / Unconfirmed
GUEST, unregistred user!
在屏幕的精确位置,怎样模拟鼠标事件,是不是用mouse_event函数?请举例
 
用SendMessage函数
sendMessage(窗体的句柄,WM_MOUSEMOVE,wPara,lPara)
WM_mouseMove消息的具体参数
WM_MOUSEMOVE fwKeys = wParam;
xPos = LOWORD(lParam);
yPos = HIWORD(lParam);
其中fwKey是
MK_CONTROL CTRL键
MK_LBUTTON 左键
MK_SHIFT SHIFT键
 
可以用窗体.Perform(WM_LButtonDown,wParam,lParam)
也可以用sendMessage(窗体的句柄,WM_LButtonDown,wParam,lParam)
还可以用Postmessage(窗体的句柄,WM_LButtonDown,wParam,lParam)
建议你看看TWMMOUSE结构的定义这是鼠标消息的结构
如果发消息的时候,将发生鼠标时间的坐标存成TPoint的结构,然后用 LParam := TPoint。
然后将消息发出就可以了。
前两个都是绕过消息队列的,最后一个是发到消息队列中的
 
先让我试试
 
var
p:tpoint;
h:thandle;
begin
GetCursorPos(p) ;
h:=windowfrompoint(p);
sendMessage(h,WM_XXX,wParam,lParam);
end;

 
谢谢大家!
 
顶部