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

  • 相关阅读:
    XSS
    XSS
    检查空引用
    LockInt
    Unity Shaderlab: Object Outlines 转
    git 恢复单个文件的历史版本
    烽火HG220G-U E00L2.03M2000光猫改桥接教程
    mark mem
    转 class和struct最本质的区别
    unity shader base pass and additional pass
  • 原文地址:https://www.cnblogs.com/51net/p/3023986.html
Copyright © 2020-2023  润新知