第三方钩子 MouseKeyHook 监控鼠标键盘事件

2023-11-16

 public partial class Form4 : Form
    {
        private static IKeyboardMouseEvents m_GlobalHook;
        public Form4()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 初始化全局鼠标和键盘事件钩子
            m_GlobalHook = Hook.GlobalEvents();

            // 订阅鼠标事件
            m_GlobalHook.MouseDownExt += GlobalHookMouseDown;
            m_GlobalHook.MouseUpExt += GlobalHookMouseUp;
            m_GlobalHook.MouseMoveExt += GlobalHookMouseMove;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            // 卸载事件钩子
            m_GlobalHook.MouseDownExt -= GlobalHookMouseDown;
            m_GlobalHook.MouseUpExt -= GlobalHookMouseUp;
            m_GlobalHook.MouseMoveExt -= GlobalHookMouseMove;

            // 销毁全局钩子
            m_GlobalHook.Dispose();
        }

        private static void GlobalHookMouseDown(object sender, MouseEventExtArgs e)
        {
            Console.WriteLine($"Mouse Down: {e.Button}, X: {e.X}, Y: {e.Y}");
        }

        private static void GlobalHookMouseUp(object sender, MouseEventExtArgs e)
        {
            Console.WriteLine($"Mouse Up: {e.Button}, X: {e.X}, Y: {e.Y}");
        }

        private static void GlobalHookMouseMove(object sender, MouseEventExtArgs e)
        {
            Console.WriteLine($"Mouse Move: X: {e.X}, Y: {e.Y}");
        }
    }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第三方钩子 MouseKeyHook 监控鼠标键盘事件 的相关文章

  • 检查两个数是否是彼此的排列?

    给定两个数字 a b 使得 1 例如 123 是 312 的有效排列 我也不想对数字中的数字进行排序 如果您指的是数字的字符 例如 1927 和 9721 则 至少 有几种方法 如果允许排序 一种方法是简单地sprintf将它们放入两个缓冲
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • C++ 复制初始化和直接初始化,奇怪的情况

    在继续阅读本文之前 请阅读在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a difference in c between copy i
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • const、span 和迭代器的问题

    我尝试编写一个按索引迭代容器的迭代器 AIt and a const It两者都允许更改容器的内容 AConst it and a const Const it两者都禁止更改容器的内容 之后 我尝试写一个span
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • ASP.NET MVC 6 (ASP.NET 5) 中的 Application_PreSendRequestHeaders 和 Application_BeginRequest

    如何在 ASP NET 5 MVC6 中使用这些方法 在 MVC5 中 我在 Global asax 中使用了它 现在呢 也许是入门班 protected void Application PreSendRequestHeaders obj
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • 这是啥SQL,室友看了人傻了

    文章目录 SQLite适应常规基本应用场景 SQLite面对复杂场景尚有不足 SPL全面支持各种数据源 SPL的计算能力更强大 优化体系结构 SPL资料 可以在Java应用中嵌入的数据引擎看起来比较丰富 但其实并不容易选择 Redis计算能
  • 【数据结构】五种用于查询的数据结构 性能测试

    github项目地址 1 总体说明 本报告一共实现了五种用于查询的数据结构 二叉搜索树 二叉平衡树 二叉伸展树 跳表 数组 在完成各种数据的增删查功能的基础上 对于不同数据结构的查询效率进行了评测与对比 对空间性能进行了理论的分析 大致实验
  • AngularJS UI Router(ui.router)嵌套视图(Nested Views)

    1 dom结构 index html
  • UE_移动端测试使用

    教程流程 参照官方文档 android篇 https docs unrealengine com 5 1 zh CN android development requirements for unreal engine https docs
  • 电巢携手陕西理工大学“硬件研发岗位岗前项目实训”顺利开班!

    为深化校企合作 产教融合助力新工科建设 提升学生工程实践能力 电巢工程能力实训班按照不同岗位类别 匹配对应的企业岗位任职能力要求对学生开展分级培养 以产业需求为导向 培养创新型 应用型人才 7月27日下午3时 深圳电巢联合陕西理工大学物理与
  • dc-3 靶机渗透学习

    靶机修复 dc 3靶机可能会存在扫不到靶机ip的问题 可以参考下面这篇博客解决 编辑网卡配置文件时命令有点错误 vim etc network interfacers 改成 vim etc network interfaces Vulnhu
  • 【SpringCloudAlibaba】Nacos服务注册和配置中心配合nginx负载

    文章目录 概述 注册中心 POM YML 启动类 CAP 配置中心 POM YML 启动类 ConfigClientController Nacos中的匹配规则 三种方案加载配置 示例 集群部署 概述 部署模式 修改derby为mysql
  • Fiddler抓包工具配置+Jmeter基本使用

    目录 一 Fiddler抓包工具的配置和使用 局域网络配置 Fiddler配置 Fiddler抓包实例 二 Jmeter的基本使用 Jmeter的安装配置 第一个Jmeter脚本 一 Fiddler抓包工具的配置和使用 在编写网关自动化脚本
  • GCC入门详解

    一 基本概念 gcc编译源程序分为4个阶段 预处理 编译 汇编 链接 1 预处理阶段 将头文件的内容插入到源代码中 替换宏定义 去掉注释等 预处理后的文件后缀名为 i 2 编译阶段 编译器将预处理后的文件翻译成汇编代码文件 后缀名为 s 3
  • uni-app 连接逍遥模拟器 安卓模拟器 不显示 找不到 端口映射

    最近公司为了让我全面发展 给了一个小活练练手 由于Android和ios开发的小伙伴比较忙 我被拉来开发一个App 由于需要多端使用 最后选择使用uni app 来开发 刚开始都是在h5页面来调试 最后测试App的时候需要使用安卓模拟器来调
  • GameMode问题

    GameMode问题 1 缘由 初始化了两个关卡 一个登录关卡 一个内容关卡 配置了两个GameMode 分别在关卡中设置好了GameMode 通过调用OpenLevel实现关卡跳转 如下图 然 运行过程中 关卡完成了跳转 进入内容关卡后G
  • MusicGen一键音乐风格迁移

    想象一下 您可以随心所欲地创作轻快的乡村曲风 缠绵的蓝调 史诗般的管弦乐 视频BGM创作之路上 再也不会有任何阻碍 01 什么是MusicGen Meta MusicGen建立在强大的Transformer模型的基础上 追随ChatGPT等
  • Pcshare远控源码偏重分析(一)

    0x00背景 PcShare是一款功能强大的远程管理软件 可以在内网 外网任意位置随意管理需要的远程主机 该软件是由国内安全爱好者无可非议开发 在当时这款远控在大家应该比较熟悉了 VC编译器调出来的的小体积全功能木马 相比Delphi的灰鸽
  • Linux权限

    一 Linux权限的概念 Linux下有两种用户 超级用户 root 普通用户 超级用户 可以再linux系统下做任何事情 不受限制 普通用户 在linux下做有限的事情 超级用户的命令提示符是 普通用户的命令提示符是 1 1 用户间的切换
  • 最优清零方案python(蓝桥杯)

    1 问题描述 给定一个长度为 N 的数列 A1 A2 AN 现在小蓝想通过若干次操作将 这个数列中每个数字清零 每次操作小蓝可以选择以下两种之一 选择一个大于 0 的整数 将它减去 1 选择连续 K 个大于 0 的整数 将它们各减去 1 小
  • 【SSM】DispatcherServlet详解

    功能 SpringMVC的核心就是DispatcherServlet DispatcherServlet实质也是一个HttpServlet DispatcherSevlet负责将请求分发 所有的请求都有经过它来统一分发 大致看下Spring
  • Maven引入本地jar包的使用方法

    关于下载配置Maven的过程我这里就不多说了 网上可以自行查询 我简述一下关于jar如果直接下载到本地之后 怎么整合到自己的maven工程呢 方式挺多的 下面列举四种方式 1 上传到maven中心仓库 https oss sonatype
  • 显示web服务器登陆,web服务器登陆界面

    web服务器登陆界面 内容精选 换一换 云解析服务支持为域名快速添加网站解析 通过该功能可以简化解析记录的配置 包含如下两种场景 网站解析至IP地址 为域名的主域名和子域名分别添加一条A类型记录集网站解析至另一域名 为域名的主域名和子域名分
  • tensorRT 分类模型构建与推理

    tensorRT分类模型构建与推理示例代码classifier cpp tensorRT include 编译用的头文件 include
  • 第三方钩子 MouseKeyHook 监控鼠标键盘事件

    public partial class Form4 Form private static IKeyboardMouseEvents m GlobalHook public Form4 InitializeComponent privat