你说的那个啥
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#特定程序的钩子、什么是鼠标钩子、进程钩子 键盘钩子 内核钩子都是什么意思呢。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)