我有一个由应用程序加载的dll,我无法修改应用程序的源代码(因为我没有源代码),我想用插件注册系统范围的热键。我可以通过类似RegisterHotKey(NULL, 1, MOD_CONTROL | MOD_NOREPEAT, 0x42)
的注册热键(参见here)但我不知道如何处理消息队列,我应该创建一个新线程并在dll时创建消息处理循环初始化?我的dll是接收消息的人还是加载dll的应用程序是那个,最后有更好的方法吗?
答案 0 :(得分:3)
以下是应该如何做的:
现在应该发生以下两件事之一:
OR
在此之后,您的消息循环将收到WM_HOTKEY消息。这是执行此操作的官方和首选方式,因此,如果您没有使用支持它的框架(大多数情况下没有),则不会有更好的方法。
不要忘记调用UnregisterHotKey()并在完成后终止窗口和线程。