那个API可以屏蔽全部键盘的输入
2个回答
展开全部
有这样的API,可以用钩子函数实现。方法是用SetWindowsHookEx安装钩子,第一个参数用13,13表示钩子的类型设置为WH_KEYBOARD_LL,这样按下键盘时发出的消息(如WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN、WM_SYSKEYUP)都会被钩子截获,第二个参数是一个回调函数的指针,回调函数用于处理截获的消息。安装钩子的代码如下:
HHOOK mhook = NULL;
mhook = ::SetWindowsHookEx ( 13, KeyboardProc, ::AfxGetApp()->m_hInstance, 0 );
其中KeyboardProc就是回调函数了,在回调函数里直接return 1;就可以了,return 1表示对截获的消息不做任何处理,你可以理解为截获的消息不做处理就可以屏蔽它,回调函数的原型为:
LRESULT WINAPI KeyboardProc ( int code, WPARAM wParam, LPARAM lParam )。你试试,应该可以,不过一般都是屏蔽某些按键或者对截获的键盘消息进行处理,没有屏蔽所有按键的,反正我没这样试过,你试试吧。
HHOOK mhook = NULL;
mhook = ::SetWindowsHookEx ( 13, KeyboardProc, ::AfxGetApp()->m_hInstance, 0 );
其中KeyboardProc就是回调函数了,在回调函数里直接return 1;就可以了,return 1表示对截获的消息不做任何处理,你可以理解为截获的消息不做处理就可以屏蔽它,回调函数的原型为:
LRESULT WINAPI KeyboardProc ( int code, WPARAM wParam, LPARAM lParam )。你试试,应该可以,不过一般都是屏蔽某些按键或者对截获的键盘消息进行处理,没有屏蔽所有按键的,反正我没这样试过,你试试吧。
更多追问追答
追答
对了,你还可以卸载这个钩子:
int i = ::UnhookWindowsHookEx (mhook );
追问
其实我是个新手,我想写一个程序让它每次开机自动运行要用到那个API呀
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询