LRESULT keyProc(,,,)
{
if(nCode == HC_ACTION)
{
if(wParam != NULL) // 说明有键盘消息进入
{
//work();//我该怎么处理才能把这个消息丢出系统消息队列而不
让系统响应呢??
return 1;
}
}
}
{
if(nCode == HC_ACTION)
{
if(wParam != NULL) // 说明有键盘消息进入
{
//work();//我该怎么处理才能把这个消息丢出系统消息队列而不
让系统响应呢??
return 1;
}
}
}
return CallNextHookEx(...)才继续传递消息的。
钩子机制允许应用程序截获处理window消息或特定事件。与DOS中断截获处理机制有类似之处。钩子(Hook),是Windows消息处理机制的一个平台(point),应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。每一个hook都有一个与之相关联的指针列表,称之为钩子链表,该链表中的指针指向这个钩子的各个处理子程。一个钩子处理一种类型的消息。当钩子所监视的消息出现时,Windows调用链表中的第一个钩子子程。某些类型的钩子只能在系统范围内设置处理子程,其余类型的钩子还可以在特定的线程中设置(用SetWindowsHookEx设置)。对于某一特定类型的钩子(它处理某一类型的消息),线程钩子子程被先调用,接着是系统钩子子程。钩子子程是一个应用程序定义的回调函数(callback function),不能定义成某个类的成员函数,只能定义为普通的C函数。例如:
LRESULT CALLBACK HookProc(int nCode ,WPARAM wParam,LPARAM lParam)
钩子的设置
可以使用API函数SetWindowsHookEx()把一个全文参见:http://vcworm.51.net/other/hook.htm
那还有其它热健的锁定方法,大家有何观点,何不一起讨论讨论???疯子拜读。
{
return 1;
}
mouse is the same as the up