如何使用API函数mouse_event模拟一次鼠标事件,比如左键单击、双击和右键单击?

解决方案 »

  1.   

    你是说MSDN,我这张光盘里没有呀,那里能够找到,大侠请教?
      

  2.   

    我是在网上找一篇,但不详细,主大侠指教
    声明:
    Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
    调用:比如模拟一次左键单击
      mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
      按F5就提示MOUSEEVENTF_LEFTDOWN变量没有定义,我不知道怎么做
      

  3.   

    '在声明中对API变量定义
    Const MOUSEEVENTF_LEFTDOWN = &H2
    Const MOUSEEVENTF_LEFTUP = &H4
    Const MOUSEEVENTF_MIDDLEDOWN = &H20
    Const MOUSEEVENTF_MIDDLEUP = &H40
    Const MOUSEEVENTF_MOVE = &H1
    Const MOUSEEVENTF_ABSOLUTE = &H8000
    Const MOUSEEVENTF_RIGHTDOWN = &H8
    Const MOUSEEVENTF_RIGHTUP = &H10
      

  4.   

    mouse_event
    The mouse_event function synthesizes mouse motion and button clicks. Windows NT: This function has been superseded. Use SendInput instead.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
    );
     
    Parameters
    dwFlags 
    A set of flag bits that specify various aspects of mouse motion and button clicking. The bits in this parameter can be any reasonable combination of the following values: Value Meaning 
    MOUSEEVENTF_ABSOLUTE Specifies that the dx and dy parameters contain normalized absolute coordinates. If not set, those parameters contain relative data: the change in position since the last reported position. This flag can be set, or not set, regardless of what kind of mouse or mouse-like device, if any, is connected to the system. For further information about relative mouse motion, see the following Res section. 
    MOUSEEVENTF_MOVE Specifies that movement occurred. 
    MOUSEEVENTF_LEFTDOWN Specifies that the left button is down. 
    MOUSEEVENTF_LEFTUP Specifies that the left button is up. 
    MOUSEEVENTF_RIGHTDOWN Specifies that the right button is down. 
    MOUSEEVENTF_RIGHTUP Specifies that the right button is up. 
    MOUSEEVENTF_MIDDLEDOWN Specifies that the middle button is down. 
    MOUSEEVENTF_MIDDLEUP Specifies that the middle button is up. 
    MOUSEEVENTF_WHEEL Windows NT: Specifies that the wheel has been moved, if the mouse has a wheel. The amount of movement is given in dwData 
    dx 
    Specifies the mouse's absolute position along the x-axis or its amount of motion since the last mouse event was generated, depending on the setting of MOUSEEVENTF_ABSOLUTE. Absolute data is given as the mouse's actual x-coordinate; relative data is given as the number of mickeys moved. A mickey is the amount that a mouse has to move for it to report that it has moved. 
    dy 
    Specifies the mouse's absolute position along the y-axis or its amount of motion since the last mouse event was generated, depending on the setting of MOUSEEVENTF_ABSOLUTE. Absolute data is given as the mouse's actual y-coordinate; relative data is given as the number of mickeys moved. 
    dwData 
    If dwFlags is MOUSEEVENTF_WHEEL, then dwData specifies the amount of wheel movement. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. One wheel click is defined as WHEEL_DELTA, which is 120. 
    If dwFlags is not MOUSEEVENTF_WHEEL, then dwData should be zero. dwExtraInfo 
    Specifies an additional 32-bit value associated with the mouse event. An application calls GetMessageExtraInfo to obtain this extra information. 
    Return Values
    This function has no return value.