C#使用SnsSharp实现鼠标键盘钩子,实现全局按键响应

gitee下载地址:https://gitee.com/linsns/snssharp

一、键盘事件,使用 SnsKeyboardHook

按键事件共有3个:

KeyDown(按键按下)

KeyUp(按键松开)

KeyPress(按键按下并松开)

以KeyDown事件为例,使用代码如下:

cs 复制代码
SnsKeyboardHook snsKeyboardhook = new SnsKeyboardHook();
snsKeyboardhook.KeyDown += SnsKeyboardhook_KeyDown; 
snsKeyboardhook.Start();

private void SnsKeyboardhook_KeyDown(object sender, KeyEventArgs e)
{
    labState.Text = string.Format("状态:当前按下键盘{0}", e.KeyCode);
}

其中SnsKeyboardhook_KeyDown就是按键响应函数。

二、鼠标事件,使用SnsMouseHook

鼠标事件共有6个:

MouseDown(鼠标按下)

MouseUp(鼠标松开)

MouseMove(鼠标移动)

MouseWheel(鼠标滚动鼠轮)

Click(鼠标单击)

DoubleClick(鼠标双击)

以MouseDown事件为例,使用代码如下:

cs 复制代码
SnsMouseHook snsMouseHook = new SnsMouseHook();
snsMouseHook.MouseDown += SnsMouseHook_MouseDown;
snsMouseHook.Start();

private void SnsMouseHook_MouseDown(object sender, MouseEventArgs e)
{
    labState.Text = string.Format("状态:当前按下鼠标{0}", e.Button);
}

其中SnsMouseHook_MouseDown就是鼠标按下响应函数。

三、模拟键盘事件,使用SnsKeyboardSimulator

模拟按键事件共有3个:

KeyDown(按键按下)

KeyUp(按键松开)

KeyPress(按键按下并松开)

模拟按下空格键:SnsKeyboardSimulator.KeyDown(Keys.Space);

模拟按下确定键:SnsKeyboardSimulator.KeyDown(Keys.Enter);

四、模拟鼠标事件,使用SnsMouseSimulator

模拟鼠标事件共有5个:

MouseDown(鼠标按下)

MouseUp(鼠标松开)

MouseMove(鼠标移动)

Click(鼠标单击)

DoubleClick(鼠标双击)

模拟鼠标左键按下:SnsMouseSimulator.MouseDown(MouseButtons.Left);

模拟鼠标移动:SnsMouseSimulator.MouseMouve(x, y);

效果:

技术交流

QQ群: 577276243

相关推荐
新手unity自用笔记11 小时前
项目-坦克大战学习-子弹的移动与销毁
笔记·学习·c#
qinzechen11 小时前
分享几个做题网站------学习网------工具网;
java·c语言·c++·python·c#
yufei-coder15 小时前
C# Windows 窗体开发基础
vscode·microsoft·c#·visual studio
dangoxiba15 小时前
[Unity Demo]从零开始制作空洞骑士Hollow Knight第十三集:制作小骑士的接触地刺复活机制以及完善地图的可交互对象
游戏·unity·visualstudio·c#·游戏引擎
AitTech15 小时前
深入理解C#中的TimeSpan结构体:创建、访问、计算与格式化
开发语言·数据库·c#
hiyo58519 小时前
C#中虚函数和抽象函数的概念
开发语言·c#
开心工作室_kaic21 小时前
基于微信小程序的校园失物招领系统的设计与实现(论文+源码)_kaic
c语言·javascript·数据库·vue.js·c#·旅游·actionscript
时光追逐者1 天前
WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!
前端·microsoft·开源·c#·.net·layui·.netcore
friklogff1 天前
【C#生态园】打造现代化跨平台应用:深度解析.NET桌面应用工具
开发语言·c#·.net
hiyo5852 天前
C#的面向对象
开发语言·c#