读书人

CWnd:FromHandle() 的有关问题

发布时间: 2012-01-11 22:28:46 作者: rapoo

CWnd::FromHandle() 的问题
在程序中添加了一个状态栏,
然后在dll中hook出它的HWND,
通过CStatusBar *bar = (CStatusBar*)CWnd::FromHandle(hWnd)得到的却是错误的,为什么?
注:hook出的hWnd是正确的

[解决办法]
看看CWnd::FromHandle是怎么实现的
[解决办法]
GetLastError()看看吧
[解决办法]
CWnd::FromHandle本来就不保证返回的对象类型。如果调用时所在模块没有CWnd派生类对象在控制这个窗口,那么一个CTempWnd类对象的指针会被返回
你仍旧可以使用CTempWnd和CStatusBar共有的方法,以及CStatusBar中只间接调用CWnd类成员的方法

读书人网 >VC/MFC

热点推荐