CWnd :: GetParent导致异常

时间:2013-02-19 12:26:48

标签: c++ mfc cdialog cwnd

我试图调用CWnd类的函数GetParent()。 每次抛出异常。 我正在从一个工作线程中调用该函数。

这是导致异常的行: CWnd * parent = this-> GetParent();

我也试过“GetParent() - > PostMessage(........);”,但仍然会抛出异常。

我在CDialog中使用此方法。

我注意到CWnd成员m_hWnd有时是0x00000000或0x00000001。 在另一台计算机上,我没有得到这个例外。 这是项目设置或我的代码中的问题吗?

1 个答案:

答案 0 :(得分:2)

您收到断言而非例外。

以下是VS 2010的实施:

ASSERT(::IsWindow(m_hWnd)); return CWnd::FromHandle(::GetParent(m_hWnd));

你的m_hWnd不是一个窗口......