最近写个程序,要实现,后台可以通知界面需要重新取一些数据,而以前的数据已经无效了,这时候就需要把界面相关的窗口自动关掉,一些框架自动关掉比较简单,获取所有句柄,发送消息就行了,但是这个时候如果某个框架打开了一个对话框,这个时候这个框架关掉后,对话框就孤立了,如果点OK,或取消,都会导致访问保护空间0x0000005异常!怎么样才能自动关闭那些对话框呢

解决方案 »

  1.   

    关框架前,可以枚举窗口EnumWindows,再判断父窗口句柄是不是你正在关闭的框架,是的话,先关闭之
      

  2.   

    对话框的父窗口句柄好像都是主框架吧枚举窗口的api是撒来着。。谢谢了
      

  3.   

    关框架前,可以枚举窗口EnumWindows,再判断父窗口句柄是不是你正在关闭的框架怎么枚举哦?
      

  4.   

    在APP中定义窗口句柄:
    HWND hwnddlg[10];
    在每一个窗口初始化时记录窗口句柄:
    theApp.hwnddlg[i] = this->m_hWnd;theApp.hwnddlg[i]就可以随处用了,你可以利用这些句柄向你记录过的所有窗口发消息了