C++ hook如何只屏蔽某个程序的键盘输入,而不是所有程序.
现在有个A程序在运行,我需要用C++编写一个程序,使得A程序不能使用键盘输入,但是其他运行的程序时可以使用键盘的。请问我这个C++程序该如何编写。...
现在有个A程序在运行,我需要用C++编写一个程序,使得A程序不能使用键盘输入,但是其他运行的程序时可以使用键盘的。请问我这个C++程序该如何编写。
展开
2个回答
展开全部
// 你是用线程钩子函数就行
// 第一个尝试是处理的消息类型
//第二个是回调函数
//第三个为NULL就行
//第四个参数是处理那个线程的消息 (这里是本线程)
HHOOK g_keyhook=NULL;
g_keyhook=SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, NULL,GetCurrentThreadId());
//////////////////////////////////////////////////////
//键盘钩子(回调函数)
LRESULT CALLBACK KeyboardProc(
int code, // hook code
WPARAM wParam, // virtual-key code
LPARAM lParam // keystroke-message information
)
{
//如何处理键盘消息
//如果钩子处理的消息,您可以返回一个非0值,防止系统把消息传递给钩子链中的下一个钩
//子, //或者把消息发送到目标窗口。
return CallNextHookEx(g_keyhook, code, wParam, lParam);
};
// 第一个尝试是处理的消息类型
//第二个是回调函数
//第三个为NULL就行
//第四个参数是处理那个线程的消息 (这里是本线程)
HHOOK g_keyhook=NULL;
g_keyhook=SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, NULL,GetCurrentThreadId());
//////////////////////////////////////////////////////
//键盘钩子(回调函数)
LRESULT CALLBACK KeyboardProc(
int code, // hook code
WPARAM wParam, // virtual-key code
LPARAM lParam // keystroke-message information
)
{
//如何处理键盘消息
//如果钩子处理的消息,您可以返回一个非0值,防止系统把消息传递给钩子链中的下一个钩
//子, //或者把消息发送到目标窗口。
return CallNextHookEx(g_keyhook, code, wParam, lParam);
};
2014-07-10
展开全部
不要全局钩子 就单单注入一个进程然后i hook
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询