我用VC生成一个对话框程序,叫GameClient工程,然后自定义一个类MySock类,
我现在要获取CGameClientDlg类的主窗口的句柄作为参数传递给MySock类,我使用全局变量可以,我不想使用全局变量,于是我在MySock类的一个成员函数中定义CGameClientDlg类的一个对象 gameObj,及成员变量m_MyhWnd, 然后用m_MyhWnd=gameObj.m_hWnd ;获取的窗口句柄喂0,请问该如何传递此句柄?
我现在要获取CGameClientDlg类的主窗口的句柄作为参数传递给MySock类,我使用全局变量可以,我不想使用全局变量,于是我在MySock类的一个成员函数中定义CGameClientDlg类的一个对象 gameObj,及成员变量m_MyhWnd, 然后用m_MyhWnd=gameObj.m_hWnd ;获取的窗口句柄喂0,请问该如何传递此句柄?
然后在MySock类的成员函数中:
m_pDlg = new CGameClientDlg;
m_MyhWnd = m_pDlg->m_hWnd;或者m_MyhWnd = m_pDlg->GetSafeHwnd()也是0,因为我的工程比较大,全局变量太多,不好管理,所以不想用全局变量。还有没有其他更好的方法。
希望大家多提意见!!!
CGameClientDlg *pDlg = (CGameClientDlg*)(AfxGetApp()->m_pMainWnd);
pDlg->m_hWnd就是你想要的句柄了。