我的应用程序如何找到Windows消息的发件人?

mj2*_*008 16 windows message keyboard-hook

我有一个应用程序,它使用库中的键盘钩子程序.一条消息的钩子中的wParam是255,我们认为是"(reserved/OEMClear)".我想弄清楚这条消息的来源,因为它会导致我的应用程序在库中崩溃,并且鉴于它不应该发生,识别它会很好.该消息仅在我们拥有的一台PC上反复出现 - 其他计算机根本看不到该消息.

那么,有没有办法跟踪发送到窗口的消息的来源,或者系统上的所有人?

Ana*_*tts 7

没有内置的方法可以找出谁发送了窗口消息,甚至win32k都没有跟踪这个消息; 您可以使用内核调试器和条件断点找到它.

但是,我认为你并不真的需要这些信息; 您需要让您的应用正确处理发送给它的任何消息.

  • 我半数同意 - 我们的目的是找到原因,然后我们可以判断其严肃性并妥善处理.我不想只是在它上面咬一块石膏,以防它后来咬,特别是因为这是一个故障失败的商业图书馆. (5认同)
  • 我建议将发件人 ID 添加到邮件中。 (2认同)