zoukankan      html  css  js  c++  java
  • 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模拟鼠标右击事件。

  • 相关阅读:
    【Java】Java 序列化的高级认识
    【随笔】感同身受
    【教训】徐小平:不要用兄弟情谊来追求共同利益,要用共同利益追求兄弟情谊
    【面试】惠普IT电面
    【面试】中兴
    【面试】国金证券
    【298】◀▶ IDL 系统过程&函数
    【297】IDL 过程、函数&关键字参数
    【296】Python 默认 IDE 修改
    【295】暗黑表格模板及相关
  • 原文地址:https://www.cnblogs.com/51net/p/3023986.html
Copyright © 2011-2022 走看看