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模拟鼠标右击事件。

  • 相关阅读:
    CentOS-7 本地yum源挂载
    VMware 安装 Centos7
    linux永久关闭SELinux*
    linux添加用户
    git分支常用命令
    git 常用命令
    springboot 自定义interceptor 对请求进行拦截
    ORACLE 远程导出DMP文件
    解决idea2018无法安装lombok的问题
    centos下快速安装mysql
  • 原文地址:https://www.cnblogs.com/51net/p/3023986.html
Copyright © 2011-2022 走看看