解决方案 »

  1.   

    调用鼠标API,不用钩子.       //鼠标API
            [System.Runtime.InteropServices.DllImport("user32.dll")]
            private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
            const int MOUSEEVENTF_MOVE = 0x0001;
            const int MOUSEEVENTF_LEFTDOWN = 0x0002;
            const int MOUSEEVENTF_LEFTUP = 0x0004;
            const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
            const int MOUSEEVENTF_RIGHTUP = 0x0010;
            const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
            const int MOUSEEVENTF_MIDDLEUP = 0x0040;
            const int MOUSEEVENTF_ABSOLUTE = 0x8000;
    ----------------------
                mouse_event(MOUSEEVENTF_RIGHTDOWN, 1, 0, 0, 0);
                mouse_event(MOUSEEVENTF_RIGHTUP, 1, 0, 0, 0);
      

  2.   

    检测鼠标是否被按下,要用鼠标钩子.钩子只检测是否被按下,不能实现按下鼠标的功能.
    而鼠标API是直接控制鼠标按下.你到底要干什么,调用对应的功能就行了.
      

  3.   

    MOUSEEVENTF_LEFTDOWN就是左键按下
    MOUSEEVENTF_LEFTUP左键抬起
    你是想按住不放,还是需要不断的按下抬起,自己对应着用不就行了
      

  4.   

    不是说了么,定义2个快捷键,比如F3和F4,或者ctrl+L,ctrl+M,随便
    或者你只定义一个,按一次开始,再按关闭
    开始了就一直timer执行鼠标按下的方法.