我正在开发一个程序,我必须添加一个键盘快捷键系统。
问题是它使用第三方OCX作为其显示的一部分,它在焦点时捕获一些重要的WM_KEYDOWN消息,如Ctrl + C,Ctrl + V等。我试过捕获WM_KEYDOWN消息通过WndProc,但消息没有传播,所以我猜键盘消息从内部容器转到外部容器,不是吗?
可以捕获WM_KEYUP消息,但我希望能够在KeyDown事件中捕获一些消息。我知道我可以制作一些低级钩子,但我想避免这种解决方法。
好吧,如果WM_KEYDOWN消息从OCX转到顶级容器,我想我将不得不在KeyUp事件中处理这些组合键。
答案 0 :(得分:0)
当您的应用处于焦点时,您可以将关键键注册为热键(RegisterHotkey API),然后在应用失焦后立即取消注册。