SendMessage(hWnd, WM_MOUSEMOVE, 0, x , y);通过SendMessage移动鼠标是一次到位的。。我现在想逐像素的把鼠标指针移动到某坐标。。而不是一次到位。。求效率比较高的算法这应该跟画直线差不多吧。。我数学没学好。。头疼。。

解决方案 »

  1.   

    不用发消息,用SetCursorPos()就行,再加个定时器
      

  2.   

    从x1,y1移动到x2,y2
    y坐标总共移动y=y2-y1,x坐标x=x2-x1
    分n次完成,每次就是yTime=y/n;xTime=x/n;int xNext = x1;
    int yNext = y1;
    for (int i = 0; i < n; i++)
    {
      // 根据xNext、yNext设置鼠标位置,省略
      xNext += xTime;
      yNext += yTime;
    }
      

  3.   

    多线程,SetCursorPos()就可以,或者使用mouse_event()/SendInput();都可以
      

  4.   

    只能使用SendMessage来移动。。