我当前自己定义了个消息框.想在程序运行中获取它的局柄以便给它发送提示信息。
但总是失败。
请问高手我要注意些什么问题才能成功实现我的功能?
先谢谢了,高手!

解决方案 »

  1.   

    C***Dlg* p***Dlg;
    p***Dlg = new C***Dlg;
    p***Dlg->Create(IDD_MYOWN_DLG);
    p***Dlg->GetSafaHwnd();
      

  2.   

    不行啊:
    BOOL CMainFrame::ShowProgressDlg(CString strTip1, CString strTip2) 
    {
             ..........
    m_pProgressDlg = new CProgressDlg(this);
    HWND pHwnd;
    pHwnd = m_pProgressDlg->m_hWnd;
             //    = ::GetDlgItem(this->m_hWnd, IDD_DIALOG_PROGRESS);  
    ::SendMessage(pHwnd, WM_USER_SET_TIP2,
                     NULL, (LPARAM)"successful!");
              ........
    }
    上面的pHwnd总为0x000000000
      

  3.   

    方法1、用FindWindow找到这个消息框
    方法2、定义一个全局变量句柄,当自定义消息框创建的时候设置这个全局变量,销毁的时候清除这个全局变量
      

  4.   

    可以了。谢谢jennifergiant(孟琦) 
    但其后我执行
        ..........
        ::SendMessage(pHwnd, WM_USER_SET_TIP2,
                     NULL, (LPARAM)"successful!");
        m_pProgressDlg.Domodal();
        .........
    就异常了不知道为什么?