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

  • 相关阅读:
    转“C++之文件IO操作流”
    编译过程的一些小知识——#pragma once与 #ifndef的区别以及介绍
    编译过程的一些小知识——内部连接与外部连接
    VC MFC如何使用Console输出调试信息..
    windows 下ping命令,t选项
    电力间隔定义
    这样的要求不过分
    拾零之 :if 判断顺序的问题
    CMarkup 解析XML
    XinZhou housing mobile phone
  • 原文地址:https://www.cnblogs.com/51net/p/3023986.html
Copyright © 2011-2022 走看看