我在一个高度多线程的应用程序上遇到了无数次崩溃。阅读这些MSDNpage,technicalnote和thisarticleonTLS,我已经了解CWnd对象被映射到ThreadLocalStorgae(TLS,这是一个线程相关的内存访问)中的HWND。我打算解耦所有看起来像CWnd线程远程访问的东西,并将其转换为HWND引用,然后使用::PostMessage作为通信端口。但是我的一位同事真的坚持要我只在老外线程中保留CWnd*,采用::PostMessage策略ok,但是使用CWnd::GetSafeHwnd()或外部线程中的pMyCWnd->m_hWnd以恢复nativeHWND