我正在编写一个钩子,当按下设置键时必须退出程序,并且不允许在其他地方处理该输入。通常你会在钩子函数内返回一个非零输入,这样输入就不会在别处使用,但是因为我使用exit(0)我无法阻止键盘输入干扰程序后面的其他应用程序。有没有人对如何阻止输入有任何想法?
答案 0 :(得分:3)
在你的钩子函数中正常处理钩子(带有'consume'标志)。
您唯一需要做的就是不要调用同步函数exit(0)
,而是调用PostQuitMessage(0)
。
PostQuitMessage(0)
将发布 WM_QUIT消息,将在处理键盘事件后对其进行处理。
答案 1 :(得分:0)
我通过调用DestroyWindow(hWnd)而不是使用exit然后使用return 1来修复此问题。