我在一个循环中弹出MessageBox通知用户,但用户如果不操作MessageBox的话它就不会返回,我想获得MessageBox的句柄,每次循环时先强行将其关闭,怎么做呢??

解决方案 »

  1.   

    这种情况下,你最好是自己写一个带倒计时的对话框来替换MessageBox
      

  2.   

    MessageBox(".....","提示",MB_OK);//这样通知用户
    CWnd *pwnd=FindWindow(NULL,"提示");
    pwnd->PostMessage(WM_CLOSE);最好是自己写一个对话框来代替MessageBox,
    这样便于控制.
      

  3.   

    同意Semigod(),这是根本的方法,这样做出来的也是好软件。
      

  4.   

    重新开一个线程来弹出MessageBox,这样就不会阻塞原来的线程了
      

  5.   

    我也想过自己编个对话框,不过嫌麻烦,MessageBox除了难看点,其它还是蛮好用的嘛,火起来自己编个MyMessageBox,实现MessageBox一样的功能,就加个参数返回句柄好了!
      

  6.   

    艾,不就重载一下CDialog嘛
    很简单的啦
      

  7.   

    是啊,再用一个timer和一个进度条,实现倒计时。当然也可以让它返回你要的handle