Tag: registerhotkey

找出哪个进程注册了全局热键? (Windows API)

据我所知,Windows不提供API函数来告诉哪个应用程序注册了一个全局热键(通过RegisterHotkey)。 我只能发现,如果RegisterHotkey返回false,而没有“拥有”热键,则注册一个热键。 在没有直接的API的情况下,会不会有一个迂回的方式? Windows维护与每个注册热键相关的句柄 – 有点让人发疯,因为应该没有办法获取这些信息。 可能不起作用的示例:发送(模拟)一个已注册的热键,然后截获Windows将发送到注册它的进程的热键消息。 首先,我不认为拦截消息会显示目标窗口句柄。 其次,即使有可能,这也是一件坏事,因为发送热键会触发各种程序的各种可能有害的活动。 这并不重要,但是我经常看到这样的function需求,而且我自己也是注册热键的应用程序的牺牲品,甚至没有在UI或文档中的任何地方透露它。 (在delphi工作,只不过是在WinAPI的学徒,请善待。)