C# 键盘钩子,C# 钩子,C#实现的鼠标钩子

C# 键盘钩子,C# 钩子,C#实现的鼠标钩子

本文给大家分享的是使用C#实现鼠标钩子功能,程序已能获取鼠标坐标,其他就没别的功能了,有需要的小伙伴参考下吧。

C#实现的鼠标钩子,可以获取鼠标在屏幕中的坐标,记得要以管理员权限运行才行

复制代码代码如下:

使用系统;

使用系统。集合。泛型;

使用系统。组件模型;

使用系统。数据;

使用系统。绘图;

使用系统100 . Linq

使用系统。反思;

使用系统运行时。InteropServices

使用系统。文本;

使用系统窗户。形式

命名空间app01

{

公共分部类表单1:表单

{

公共委托int HookProc(int nCode,IntPtr wParam,int ptr lParam);

//定义钩子句柄

public static int hHook=0;

//定义钩子类型

公共建筑国际WH _鼠标_ LL=14

公共HookProc MyProcedure

//安装钩子

[DllImport('user32.dll ',CharSet=CharSet .自动,呼叫约定=呼叫约定.StdCall)]

public static extern int SetWindowsHookEx(int id hook,HookProc lpfn,IntPtr hInstance,int threadId);

//卸载钩子

[DllImport('user32.dll ',CharSet=CharSet .自动,呼叫约定=呼叫约定.StdCall)]

public static extern bool unhook windowshookex(int id hook);

//调用下一个钩子

[DllImport('user32.dll ',CharSet=CharSet .自动,呼叫约定=呼叫约定.StdCall)]

public static extern int CallNextHookEx(int id hook,int nCode,IntPtr wParam,int ptr lParam);

[StructLayout(LayoutKind .连续)]

公共类点

{

public int x;

public int y;

}

[StructLayout(LayoutKind .连续)]

公共类MouseHookStruct

{

公点pt;

公共int hwnd

public int wHitTestCode

public int dwExtraInfo

}

公共表单1()

{

初始化组件();

}

私有void button1_Click(对象发送方,EventArgs e)

{

if (hHook==0)

{

MyProcedure=new HookProc(this .MouseHookProc);

//这里挂节钩子

hHook=SetWindowsHookEx(WH _鼠标_LL,我的过程,编组GetHINSTANCE(程序集GetExecutingAssembly().GetModules()[0]),0);

if (hHook==0)

{

消息框.显示(' SetWindowsHookEx失败');

返回;

}

按钮1。Text='卸载钩子;

}

其他

{

bool ret=UnhookWindowsHookEx(hHook);

if (ret==false)

{

消息框.显示(' UnhookWindowsHookEx失败');

返回;

}

hHook=0;

按钮1。Text='安装钩子;

}

}

public int MouseHookProc(int nCode,IntPtr wParam,IntPtr lParam)

{

MouseHookStruct MyMouseHookStruct=(MouseHookStruct)Marshal .PtrToStructure(lParam,类型为(MouseHookStruct));

if (nCode 0)

{

返回CallNextHookEx(hHook,nCode,wParam,lParam);

}

其他

{

string str caption=' x=' mymousehookstruct。角。x . tostring(' d ')' y=' mymousehookstruct。角。y . tostring(' d ');

这个Text=strCaption。

返回CallNextHookEx(hHook,nCode,wParam,lParam);

}

}

}

}

演示:

以上就是本文所述的全部内容了,希望大家能够喜欢。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • js 数字键盘,vue自定义键盘
  • js 数字键盘,vue自定义键盘,vue引入js数字小键盘的实现代码
  • 全民助手安卓模拟器如何设置键盘布局,全民助手安卓模拟器如何设置键盘背景
  • 键盘排名前十,排名第一的键盘
  • win10中文美式键盘 默认布局,win10改成美式键盘
  • C# 键盘钩子,C# 钩子
  • ,,Android开发之超实用的系统管理工具类【SD卡,网络,uri,屏幕,网络,软键盘,文本,进程等】
  • python中双引号怎么输入,python三引号用哪键盘打
  • python中双引号怎么输入,python三引号用哪键盘打,python三引号如何输入
  • ,,python实现键盘输入的实操方法
  • redmi g键盘灯可以换颜色吗,redmig游戏本键盘灯调色
  • Python双下划线怎么输入,用键盘怎样输入下划线
  • 如何用键盘快捷键打开右键菜单窗口,如何用键盘快捷键打开右键菜单功能
  • 搜狗软键盘如何打声母字,搜狗软键盘怎么打声母
  • 微信键盘开启方法大全,微信键盘开启方法图片
  • 留言与评论(共有 条评论)
       
    验证码: