资源简介
C#实现键盘鼠标全局钩子
VS2013,可编译运行,带DEMO
可全局拦截鼠标单击/双击/滚动事件
可全局拦截键盘按键事件
可锁定键盘鼠标输入,比如锁屏!
该代码无法屏蔽Ctrl +alt +delete 需要实现所有拦截,请参考相关C++实现

代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Windows.Forms;
namespace AdrHook
{
///
/// 功能说明:该组件监视所有的鼠标活动在全局范围(同时也是应用程序之外)
/// 开发人员:王旭(http://www.wxzzz.com)
/// 开发时间:2014年4月3日
///
public class GlobalEventProvider : Component
{
///
/// 该组件引发事件。该值始终为true
///
protected override bool CanRaiseEvents
{
get
{
return true;
}
}
#region 鼠标事件
private event MouseEventHandler m_MouseMove;
///
/// 当鼠标指针移动时发生
///
public event MouseEventHandler MouseMove
{
add
{
if (m_MouseMove == null)
{
HookManager.MouseMove += HookManager_MouseMove;
}
m_MouseMove += value;
}
remove
{
m_MouseMove -= value;
if (m_MouseMove == null)
{
HookManager.MouseMove -= HookManager_MouseMove;
}
}
}
void HookManager_MouseMove(object sender MouseEventArgs e)
{
if (m_MouseMove != null)
{
m_MouseMove.Invoke(this e);
}
}
private event MouseEventHandler m_MouseClick;
///
/// 当点击由鼠标完成时发生
///
public event MouseEventHandler MouseClick
{
add
{
if (m_MouseClick == null)
{
HookManager.MouseClick += HookManager_MouseClick;
}
m_MouseClick += value;
}
remove
{
m_MouseClick -= value;
if (m_MouseClick == null)
{
HookManager.MouseClick -= HookManager_MouseClick;
}
}
}
void HookManager_MouseClick(object sender MouseEventArgs e)
{
if (m_MouseClick != null)
{
m_MouseClick.Invoke(this e);
}
}
private event MouseEventHandler m_MouseDown;
///
/// 当鼠标按下鼠标按钮时发生
///
public event MouseEventHandler MouseDown
{
add
{
if (m_MouseDown == null)
{
HookManager.MouseDown += HookManager_MouseDown;
}
m_MouseDown += value;
}
remove
{
m_MouseDown -= value;
if (m_MouseDown == null)
{
HookManager.MouseDown -= HookMana
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2631 2014-04-03 11:23 codesc.net\AdrHookDemo\AdrHook\AdrHook.csproj
文件 19456 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHook\bin\Debug\AdrHook.dll
文件 42496 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHook\bin\Debug\AdrHook.pdb
文件 9960 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHook\GlobalEventProvider.cs
文件 14120 2014-04-03 12:44 codesc.net\AdrHookDemo\AdrHook\HookManager.Callback.cs
文件 10308 2014-04-03 11:40 codesc.net\AdrHookDemo\AdrHook\HookManager.cs
文件 3038 2014-04-03 12:44 codesc.net\AdrHookDemo\AdrHook\HookManager.Structures.cs
文件 5629 2014-04-03 12:44 codesc.net\AdrHookDemo\AdrHook\HookManager.Windows.cs
文件 1264 2014-04-03 12:44 codesc.net\AdrHookDemo\AdrHook\MouseEventExtArgs.cs
文件 623 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHook\obj\Debug\AdrHook.csproj.FileListAbsolute.txt
文件 19456 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHook\obj\Debug\AdrHook.dll
文件 42496 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHook\obj\Debug\AdrHook.pdb
文件 5821 2014-04-03 12:35 codesc.net\AdrHookDemo\AdrHook\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 1338 2014-04-03 11:09 codesc.net\AdrHookDemo\AdrHook\Properties\AssemblyInfo.cs
文件 3764 2014-04-03 12:39 codesc.net\AdrHookDemo\AdrHookDemo\AdrHookDemo.csproj
文件 19456 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHookDemo\bin\Debug\AdrHook.dll
文件 5883 2014-04-03 12:45 codesc.net\AdrHookDemo\AdrHookDemo\FrmMain.cs
文件 12775 2014-04-03 12:39 codesc.net\AdrHookDemo\AdrHookDemo\FrmMain.Designer.cs
文件 5817 2014-04-03 12:39 codesc.net\AdrHookDemo\AdrHookDemo\FrmMain.resx
文件 474 2014-04-03 12:35 codesc.net\AdrHookDemo\AdrHookDemo\Program.cs
文件 1346 2014-04-03 12:34 codesc.net\AdrHookDemo\AdrHookDemo\Properties\AssemblyInfo.cs
文件 2874 2014-04-03 12:34 codesc.net\AdrHookDemo\AdrHookDemo\Properties\Resources.Designer.cs
文件 5612 2014-04-03 12:34 codesc.net\AdrHookDemo\AdrHookDemo\Properties\Resources.resx
文件 1098 2014-04-03 12:34 codesc.net\AdrHookDemo\AdrHookDemo\Properties\Settings.Designer.cs
文件 249 2014-04-03 12:34 codesc.net\AdrHookDemo\AdrHookDemo\Properties\Settings.settings
文件 1477 2014-04-03 12:39 codesc.net\AdrHookDemo\AdrHookDemo.sln
..A..H. 27136 2014-04-03 12:39 codesc.net\AdrHookDemo\AdrHookDemo.v12.suo
文件 178 2018-07-28 10:01 codesc.net\AdrHookDemo\说明.txt
目录 0 2014-04-03 11:09 codesc.net\AdrHookDemo\AdrHook\obj\Debug\TempPE
目录 0 2018-07-28 10:00 codesc.net\AdrHookDemo\AdrHook\bin\Debug
............此处省略16个文件信息
- 上一篇:雅可比迭代C++实现
- 下一篇:特殊矩阵和压缩存储
相关资源
- c#与西门子1500通讯
- c++调用C# COM 参数是结构体数组
- CTP上期技术平台API及C#封装更新到CT
- C#神思二代身份证读卡程序 demo
- C#调用百度地图获取经纬度
- 03 C#与C++dll互相传递字符串.rar
- c# 华大HD900身份证阅读器操作类
- 即时通讯开发源码终极版C#.NETC++都有
- C#C++混合编程C#调用非托管C++类
- c#图书管理系统+详细数据库设计文档
- Visual Studio 2010 Express 学习版
- C++调用C#库例程
- c#与STK开发
- OPC Data Access 3.00 Source Code
- C#/C++麦克风插拔检测
- 使用C#创建webservice服务,并使用服务
- CTP接口 C#封装版
- C# 版VNC、远程连接
- 求解一元四次方程(vbvcc#excelhtml)-
- C#游戏开发快速入门
- [原创]实现用VB.Net(C#)开发K3 BOS 插件
- C# To C++ Converter 17.10.2 (最新破解版
- C语言 wav文件读取头文件和数据
- C#火车订票系统
- C++调用C#dll代码
- C#调用C++的dll,回调函数,string和in
- C++dll生成给C#调用
- 三菱PLC 上位机的SDK文档(1)一般的人
- 关联规则fpgrowthc、c#和matlab算法附讲解
- 基于Visual C#的DirectX开发.rar
评论
共有 条评论