C#全局键盘监听(Hook)

一.为什么需要全局键盘监听?

在某些情况下应用程序需要实现快捷键执行特定功能,例如大家熟知的QQ截图功能Ctrl+Alt+A快捷键,只要QQ程序在运行(无论是拥有焦点还是处于后台运行状态),都可以按下快捷键使用此功能...

这个时候在程序中添加键盘监听肯定不能满足需求了,当用户焦点不在App上时(如最小化,或者用户在处理其它事物等等)键盘监听就失效了

二.怎样才能实现全局键盘监听?

这里需要用到Windows API,源码如下:(可以作为一个工具类[KeyboardHook.cs]收藏起来)

[特别说明:下面的源码来自某网友,很久以前收集的,也找不到出处了,如有版权问题请联系我]

三.如何使用上面的工具类?

四.使用全局键盘监听需要注意的问题(请读者朋友务必看看)

1.在应用程序中使用全局键盘监听,会被360发现,弹窗提示用户“有程序正在监听键盘输入,是否阻止?”

所以如果程序中必须要用Hook应该告诉用户不会泄露其信息等等

或者直接把App提交给360审核

否则杀软的提示会对用户体验造成极大的影响

P.S.本机只在360安全卫士环境下做了测试,其它杀软未知,应该也会提示类似的危险信息,故慎重使用Hook

posted @   梦烬  阅读(11348)  评论(5编辑  收藏  举报
点击右上角即可分享
微信分享提示