我用mouse_event(mouseeventf_leftdowon,0,0,0,0);
    mouse_event(mouseeventf_leftup,0,0,0,0)
  模拟鼠标单缶操作,可又出现一个对话框,这个对话框是用showmodal形式打开
的,这个对话框有两个按钮,现在单缶其中一个按钮,在上面的代码下面我又写了
   mouse_event(mouseeventf_leftdowon,0,0,0,0);
    mouse_event(mouseeventf_leftup,0,0,0,0)
可这两行代码执行不了,请问有什么方法使这两行代码执行

解决方案 »

  1.   

    将mouse_event(mouseeventf_leftdowon,0,0,0,0);
        mouse_event(mouseeventf_leftup,0,0,0,0)
    改成
    mouse_event(MOUSEEVENTF_ABSOLUTE +MOUSEEVENTF_LEFTDOWN ,0,0,0,0);
    mouse_event(MOUSEEVENTF_ABSOLUTE +MOUSEEVENTF_LEFTUP,0,0,0,0);
    如果不加MOUSEEVENTF_ABSOLUTE则参数中鼠标的位置是相对于原位置的移动量。参数两个都为0,鼠标等于没有移动,当然看不出来结果了,加上MOUSEEVENTF_ABSOLUTE表示的是绝对位置
    还有你这个mouseeventf_leftdowon是错的,应该是mouseeventf_leftdown,你多打了一个o。
      

  2.   

    VOID mouse_event(    DWORD dwFlags, // flags specifying various motion/click variants
        DWORD dx, // horizontal mouse position or position change
        DWORD dy, // vertical mouse position or position change
        DWORD dwData, // amount of wheel movement
        DWORD dwExtraInfo  // 32 bits of application-defined information
       );
    MOUSEEVENTF_ABSOLUTE 参数中鼠标的位置是相对于原位置的移动量,dx,dy的参数都是0,加上MOUSEEVENTF_ABSOLUTE表示的是绝对位置,指出了鼠标移动的绝对位置