C ++ Keyboard Hook - 退出程序,但也防止密钥在别处处理

时间:2014-01-09 01:00:28

标签: c++ windows

我正在编写一个钩子,当按下设置键时必须退出程序,并且不允许在其他地方处理该输入。通常你会在钩子函数内返回一个非零输入,这样输入就不会在别处使用,但是因为我使用exit(0)我无法阻止键盘输入干扰程序后面的其他应用程序。有没有人对如何阻止输入有任何想法?

2 个答案:

答案 0 :(得分:3)

在你的钩子函数中正常处理钩子(带有'consume'标志)。 您唯一需要做的就是不要调用同步函数exit(0),而是调用PostQuitMessage(0)

PostQuitMessage(0)发布 WM_QUIT消息,将在处理键盘事件后对其进行处理。

答案 1 :(得分:0)

我通过调用DestroyWindow(hWnd)而不是使用exit然后使用return 1来修复此问题。