c# 模拟window 操作鼠标|winapi

 

View Code
        [DllImport("user32.dll", EntryPoint = "mouse_event", SetLastError = true)]

        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//标示是否采用绝对坐标

        static void Main(string[] args)
        {
           //  移动鼠标
           mouse_event(MOUSEEVENTF_MOVE, 400000);

            //点击鼠标右键
            mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 410000);

            Console.ReadLine();
        }

      

 

调用的时候可以对系统API进行二次封装。 

Public Static Void MouseRightClick()

{

    //点击鼠标右键
   mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 410, 0, 0, 0);

}

适合场景:LinkButton如果想要弹出右键菜单的时候,可以在Click事件中通过API模拟鼠标右击事件。

posted @ 2013-04-16 13:55  跟着阿笨一起玩.NET  阅读(1060)  评论(0编辑  收藏  举报