为什么DefWindowProc()没有传递任何东西?

罗伯特·韦伯

我已经使用SetWindowSubclass()对窗口进行了子类化,并且成功调用了消息处理程序,但是当我调用DefWindowProc()传递消息进行原始处理时,没有消息通过!

我们正在编写Marmalade(用于跨平台移动开发的套件)的扩展。它允许特定平台的本机扩展,我们正在为Windows桌面构建编写一个。我们没有直接访问消息循环的权限,但是可以自己子类化处理消息,但是我们似乎无法将消息传递回Marmalade进行常规处理。

例如,即使在回调中什么也不做,只不过调用DefWindowProc()仍然不起作用:

// Initialization:
const UINT_PTR gSubClassId = NULL;
DWORD_PTR subClassCBData = NULL;
SetWindowSubclass(gMainWindow, CadUtil_WindowCB, gSubClassId, subClassCBData);
...
// Message processing callback.
static LRESULT CALLBACK CadUtil_WindowCB(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
{
    // Messages are correctly diverted here, but DefWindowProc() below isn't passing them on.
    return DefWindowProc(hWnd, message, wParam, lParam);
}

知道如何发生吗?

谢谢,
罗伯。

罗伯特·韦伯

我仍然不知道为什么子类无法正常工作,但是我可以通过使用钩子来解决它。因此,我现在不再使用SetWindowSubclass()来捕获消息并通过DefWindowProc()来传递消息,而是现在将SetWindowsHookEx()与WH_CALLWNDPROC和WH_GETMESSAGE一起使用来捕获消息,并在钩子中调用CallNextHookEx()来使消息通过。这适用于子类无法实现的地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的方法没有返回任何东西?

来自分类Dev

没有更多的磁盘空间,没有任何东西吞噬我的磁盘。为什么?

来自分类Dev

如果我的课没有继承任何东西,为什么我可以覆盖Equals方法?

来自分类Dev

为什么这个jQuery选择器没有找到任何东西?

来自分类Dev

为什么FindObjectOfType(MyType)没有找到任何东西?

来自分类Dev

为什么我的每个循环都没有返回任何东西?

来自分类Dev

为什么这个jQuery选择器没有找到任何东西?

来自分类Dev

为什么我的WIN + X菜单没有打开任何东西?

来自分类Dev

Python BeautifulSoup 网页抓取:为什么 section 标签里面没有显示任何东西?

来自分类Dev

MySQL中没有任何东西的“加入”是什么?

来自分类Dev

为什么不计数任何东西?

来自分类Dev

glDrawElements没有画任何东西

来自分类Dev

指望没有返回任何东西

来自分类Dev

Pendrive 没有复制任何东西

来自分类Dev

Raycast 没有击中任何东西

来自分类Dev

为什么我的不一致机器人代码没有运行任何东西?

来自分类Dev

有没有办法不向子道具方法传递任何东西?

来自分类Dev

为什么mapPartitions不打印任何东西到stdout?

来自分类Dev

为什么要使用null!=而不是任何东西!= null?

来自分类Dev

为什么类型参数不能是任何东西?

来自分类Dev

为什么void指针指向任何东西?

来自分类Dev

为什么regex_search不匹配任何东西?

来自分类Dev

为什么np.savetxt不写任何东西?

来自分类Dev

为什么user_permissions不返回任何东西?

来自分类Dev

百胜为什么不列出任何东西?

来自分类Dev

为什么mapPartitions不打印任何东西到stdout?

来自分类Dev

为什么文件读取不输出任何东西?

来自分类Dev

为什么这个线程代码不打印任何东西?

来自分类Dev

为什么“最小”不返回任何东西?

Related 相关文章

  1. 1

    为什么我的方法没有返回任何东西?

  2. 2

    没有更多的磁盘空间,没有任何东西吞噬我的磁盘。为什么?

  3. 3

    如果我的课没有继承任何东西,为什么我可以覆盖Equals方法?

  4. 4

    为什么这个jQuery选择器没有找到任何东西?

  5. 5

    为什么FindObjectOfType(MyType)没有找到任何东西?

  6. 6

    为什么我的每个循环都没有返回任何东西?

  7. 7

    为什么这个jQuery选择器没有找到任何东西?

  8. 8

    为什么我的WIN + X菜单没有打开任何东西?

  9. 9

    Python BeautifulSoup 网页抓取:为什么 section 标签里面没有显示任何东西?

  10. 10

    MySQL中没有任何东西的“加入”是什么?

  11. 11

    为什么不计数任何东西?

  12. 12

    glDrawElements没有画任何东西

  13. 13

    指望没有返回任何东西

  14. 14

    Pendrive 没有复制任何东西

  15. 15

    Raycast 没有击中任何东西

  16. 16

    为什么我的不一致机器人代码没有运行任何东西?

  17. 17

    有没有办法不向子道具方法传递任何东西?

  18. 18

    为什么mapPartitions不打印任何东西到stdout?

  19. 19

    为什么要使用null!=而不是任何东西!= null?

  20. 20

    为什么类型参数不能是任何东西?

  21. 21

    为什么void指针指向任何东西?

  22. 22

    为什么regex_search不匹配任何东西?

  23. 23

    为什么np.savetxt不写任何东西?

  24. 24

    为什么user_permissions不返回任何东西?

  25. 25

    百胜为什么不列出任何东西?

  26. 26

    为什么mapPartitions不打印任何东西到stdout?

  27. 27

    为什么文件读取不输出任何东西?

  28. 28

    为什么这个线程代码不打印任何东西?

  29. 29

    为什么“最小”不返回任何东西?

热门标签

归档