在webbrowser中打开页面,我想自动在其中的一个连接上实现鼠标点击。procedure MoveMouseToControl(AControl: TWinControl);
var
  Rect: trect;
  x, y: integer;
  atCursor: TPoint;
  hWndMouseOver, hTest: HWND;//鼠标的句柄
begin
  Rect :=AControl.BoundsRect;
  MapWindowPoints(AControl.Parent.Handle, 0, Rect, 2);
  SetCursorPos(Rect.Left + (Rect.Right - Rect.Left) div 2,
               Rect.Top + (Rect.Bottom - Rect.Top) div 2 + 120);   //鼠标已经跳到连接上
  x:= Rect.Left + (Rect.Right - Rect.Left) div 2;
  y:= Rect.Top + (Rect.Bottom - Rect.Top) div 2 + 120;  SendMessage(Form2.WebBrowser1.Handle, WM_LBUTTONDBLCLK , MK_LBUTTON, MAKELPARAM(x,y));
  //发送双击消息但是没反应
end;请问能实现这个自动双击吗?请各位指教

解决方案 »

  1.   


    //单击
        mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
        mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
    //双击
        mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
        mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
        mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
        mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);试试看这个行不行?
      

  2.   

    procedure MoveMouseToControl(AControl: TWinControl);
    var
      Rect: trect;
      x, y: integer;
      atCursor: TPoint;
      hWndMouseOver, hTest: HWND;//鼠标的句柄
    begin
      Rect :=AControl.BoundsRect;
      MapWindowPoints(AControl.Parent.Handle, 0, Rect, 2);
      SetCursorPos(Rect.Left + (Rect.Right - Rect.Left) div 2,
                   Rect.Top + (Rect.Bottom - Rect.Top) div 2 + 120);   //鼠标已经跳到连接上
      x:= Rect.Left + (Rect.Right - Rect.Left) div 2;
      y:= Rect.Top + (Rect.Bottom - Rect.Top) div 2 + 120;  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
      mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);  //SendMessage(Form1.WebBrowser1.Handle, WM_LBUTTONDBLCLK , MK_LBUTTON, MAKELPARAM(x,y));
      //发送双击消息但是没反应
    end;试过了,一定可以。