键盘消息Windows流量问题和疑问

时间:2009-09-16 09:47:10

标签: c# .net windows vb.net winforms

我正在开发一个程序,我必须添加一个键盘快捷键系统。

问题是它使用第三方OCX作为其显示的一部分,它在焦点时捕获一些重要的WM_KEYDOWN消息,如Ctrl + C,Ctrl + V等。我试过捕获WM_KEYDOWN消息通过WndProc,但消息没有传播,所以我猜键盘消息从内部容器转到外部容器,不是吗?

可以捕获WM_KEYUP消息,但我希望能够在KeyDown事件中捕获一些消息。我知道我可以制作一些低级钩子,但我想避免这种解决方法。

好吧,如果WM_KEYDOWN消息从OCX转到顶级容器,我想我将不得不在KeyUp事件中处理这些组合键。

1 个答案:

答案 0 :(得分:0)

当您的应用处于焦点时,您可以将关键键注册为热键(RegisterHotkey API),然后在应用失焦后立即取消注册。