C#整人的帖子有些代码我看不太懂,望高手帮忙解答!截取了部分代码!
 static class Program
    {
        const int MOUSEEVENTF_LEFTDOWN = 0x2;
        const int MOUSEEVENTF_LEFTUP = 0x4;
        。。
         然后下面有
        //[DllImport("user32.dll")]
        //static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
        然后下面有
         case 1:
                        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE, dx, dy, 0, 0);
                        break;我想问下,首先const int MOUSEEVENTF_LEFTDOWN = 0x2;是什么意思,
第2,上面我注释的地方为什么这么用,我的意思是上面引入的函数跟case 1:里面的参数数目都不一样多,谁能讲下这个函数什么意思?

解决方案 »

  1.   

    MOUSEEVENTF_LEFTDOWN = 0x2表示按下鼠标左键
    mouse_event模拟鼠标移动、单击、双击等功能
    参考
    http://www.cnblogs.com/leafyoung/archive/2007/06/29/799837.html
      

  2.   

    const int MOUSEEVENTF_LEFTDOWN = 0x2; 
    就是定义一个常量MOUSEEVENTF_LEFTDOWN 值是十六进制的2
    参数数目是一样的啊,都是5个,
    MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE是对这几个进行或运算作为一个参数。
    后面还有4个参数都是对应的了。