c#特定程序的钩子

c#特定程序的钩子,第1张

你说的那个啥

wcHandle

压根就是一个窗口句柄

而SetWindowsHookEx

的第三个参数是

模块句柄

也就是说

你回调函数所在的模块的一个句柄

然后

最后一个参数是

进程id

和你需要进程绑定就可以了

局部钩子

没有写过

一般都写全局

HHOOK

SetWindowsHookEx(int

idHook,

//

钩子的类型,即它处理的消息类型HOOKPROC

lpfn,

//

钩子子程的地址指针。如果dwThreadId参数为0//

或是一个由别的进程创建的线程的标识,//

lpfn必须指向DLL中的钩子子程。//

除此以外,lpfn可以指向当前进程的一段钩子子程代码。// 钩子函数的入口地址,当钩子钩到任何消息后便调用这个函数。HINSTANCE

hMod,

//

应用程序实例的句柄。标识包含lpfn所指的子程的DLL。//

如果dwThreadId

标识当前进程创建的一个线程,//

而且子程代码位于当前进程,hMod必须为NULL。//

可以很简单的设定其为本应用程序的实例句柄。DWORD

dwThreadId

//

与安装的钩子子程相关联的线程的标识符。//

如果为0,钩子子程与所有的线程关联,即为全局钩子。);

百科过来的

函数说明

钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。Hook API是指Windows开放给程序员的编程接口,使得在用户级别下可以对 *** 作系统进行控制,也就是一般的应用程序都需要调用API来完成某些功能,Hook API的意思就是在这些应用程序调用真正的系统API前可以先被截获,从而进行一些处理再调用真正的API来完成功能。1) 键盘钩子和低级键盘钩子可以监视各种键盘消息。 (2) 鼠标钩子和低级鼠标钩子可以监视各种鼠标消息。 (3) 外壳钩子可以监视各种Shell事件消息。比如启动和关闭应用程序。 (4) 日志钩子可以记录从系统消息队列中取出的各种事件消息。 (5) 窗口过程钩子监视所有从系统消息队列发往目标窗口的消息

键盘钩子分几种,有进程钩子,就是只是捕获某一个特定进程的键盘输入。有程序钩子,只捕获某一个程序的键盘输入。还有全局钩子,可以捕获所有进程或者程序的键盘输入。捕获就是说钩子程序能获取你输入的信息,比方说原来有一些QQ木马就是安装键盘钩子,用于记录你输入的QQ号和密码,又或者一些游戏的盗号程序就是这样的。

建议进行查杀

以上就是关于c#特定程序的钩子全部的内容,包括:c#特定程序的钩子、什么是鼠标钩子、进程钩子 键盘钩子 内核钩子都是什么意思呢。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9352355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存