当按下shift时,
单击鼠标左键,鼠标所在的位置,发生连续5次左键连击
同样
单击鼠标右键,鼠标所在的位置,发生连续5次右键连击当松开shift时,不加干扰。打游戏用,这连击5次的时间应该控制在50毫秒左右吧?谢谢,我还不太会,谁帮写个?

解决方案 »

  1.   

    现在客户端游戏里很多鼠标 键盘的普通API没用的,人家有防范的
    得用底层点的方法 
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        x,y,i,de:integer;
    begin
            Dm.ADOQuery1.Close;
            Dm.ADOQuery1.SQL.Clear;
            Dm.ADOQuery1.SQL.Add('select * from MouseInfo Order By ID');//QQ农场自动收获鼠标信息数据库
            Dm.ADOQuery1.Open;
            if Dm.ADOQuery1.RecordCount > 0 then
            begin
                 for i:=1 to Dm.adoquery1.RecordCount do
                 begin
                         edit1.Text:=Dm.ADOQuery1.FieldValues['X'];//QQ农场自动移动鼠标X值
                         edit2.Text:=Dm.ADOQuery1.FieldValues['Y'];//QQ农场自动移动鼠标Y值
                         de:=Dm.ADOQuery1.FieldValues['Delaytime'];
                         x:=strtoint(edit1.Text);
                         y:=strtoint(edit2.Text);
                         SetCursorPos(x,y);
                         Mouse_Event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0);
                         Mouse_Event(MOUSEEVENTF_LEFTUP,X,Y,0,0);
                         sleep(de);//延时
                         Label3.Caption:=inttostr(i);
                         Dm.Adoquery1.next;
                 end;
            end;
    end;
    procedure TForm1.Timer2Timer(Sender: TObject);
     var   p   :   TPoint;   
      begin
          GetCursorPos(p);     //得到当前鼠标座标
          //Inc(p.x,   100);       //横座标+100
          //Inc(p.y,   100);       //.....
          SetCursorPos(p.x,p.y);   //更改当前座标
          Edit3.Text:=inttostr(p.x);
          Edit4.Text:=inttostr(p.y);
    end;