在Windows中注册的所有窗口proc

时间:2019-04-11 13:56:52

标签: windows

从MSDN中可以看到,我们知道同一个类具有相同的默认窗口过程,例如:CEdit类对所有CEdit类都有一个默认窗口过程,但是如果我们通过工具创建一个新的编辑窗口在CEdit类中,我们可以定义窗口过程来处理从系统传递来的消息。另一方面,当创建窗口并分配了窗口过程时,系统将分配一个内存块来保存一些信息(地址为winproc等)。这些信息必须存储在其他地方。

所以,我的问题是:如何浏览proc窗口(包括自己定义的proc用户)或查找它们的放置位置。

1 个答案:

答案 0 :(得分:1)

每个HWND都引用一个数据块。调用GetWindowLongPtr(hwnd, GWLP_WNDPROC)获取该特定hwnd的Window进程。