自动点击IE窗口(100分)

  • 主题发起人 主题发起人 liaha
  • 开始时间 开始时间
L

liaha

Unregistered / Unconfirmed
GUEST, unregistred user!
&nbsp; 我想利用程序模拟MOUSE自动点击IE窗口,现在我已经<br>能够得到IE窗口的HANDLE,得到需要点击的坐标(包括绝<br>对坐标和IE窗口相对坐标),我也SETCURSORPOS,POST<br>WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONMOVE消息,<br>但是总是不能成功,请教各位大虾,我是否犯了一些很愚蠢<br>的错误,我的程序如下:<br>PROCEDURE CLICKWINDOW(H: HWND; X,Y: INTEGER); &nbsp; <br>VAR <br>&nbsp; XX, YY: INTEGER<br>BEGIN<br>&nbsp; GETSCREENPOS(H, X, Y, XX, YY); &nbsp;//MYSELF DEFINE PROCEDURE<br>&nbsp; SETCURSORPOS(XX, YY); &nbsp;<br>&nbsp; POSTMESSAGE(HWND, WM_LBUTTONDOWN, 0, MAKELONG(X,Y));<br>&nbsp; POSTMESSAGE(HWND, WM_LBUTTONUP, 0, MAKELONG(X,Y));<br>&nbsp; POSTMESSAGE(HWND, WM_LBUTTONMOVE, 0, MAKELONG(X,Y));<br>EDN;<br><br>&nbsp; &nbsp;先行谢谢各位了。
 
呵呵,不用这么麻烦,你只要用mouse_event这个函数就可以了.<br><br>
 
可用以下语句模拟鼠标单击:<br>&nbsp;<br>mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );<br>mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );<br><br>有关Mouse_Event的用法可查Api帮助。
 
GETSCREENPOS(H, X, Y, XX, YY);<br>SETCURSORPOS(XX, YY); &nbsp;<br>mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );<br>mouse_event( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );<br><br>
 
多人接受答案了。
 
后退
顶部