想做一程序,能让鼠标"自动"在屏幕上移动和点击。
想通过SendMessage()和鼠标事件WM_MOUSEMOVE,WM_LBUTTONDOWN来实现

我想用 ::SendMessage(NULL,WM_MOUSEMOVE,0,0x00120012);
::SendMessage(NULL,WM_LBUTTONDOWN,MK_LBUTTON,0x00120012);
实现可是不管用 :-< 请高手指教!!

解决方案 »

  1.   

    BOOL SetCursorPos(
      int X,  // horizontal position
      int Y   // vertical position
    );看管用不。。
      

  2.   

    use
    VOID keybd_event(
      BYTE bVk,               // virtual-key code
      BYTE bScan,             // hardware scan code
      DWORD dwFlags,          // function options
      ULONG_PTR dwExtraInfo   // additional keystroke data
    );
    and
    VOID mouse_event(
      DWORD dwFlags,         // motion and click options
      DWORD dx,              // horizontal position or change
      DWORD dy,              // vertical position or change
      DWORD dwData,          // wheel movement
      ULONG_PTR dwExtraInfo  // application-defined information
    );
    具体见msdn ^^
      

  3.   

    先SetCursorPos()到按钮上然后SendMessage(hWnd,BS_CLIKED,0,0);
      

  4.   

    WM_MOUSEMOVE,WM_LBUTTONDOWN 等消息都只是通知窗口鼠标干了些什么,而不是通知鼠标去干些什么。
      

  5.   

    对哦  WM_MOUSEMOVE 和 WM_LBUTTONDOWN 是实际上鼠标移动和被按下左键时才发送给窗口的消息,而不是你模拟的呀。