以前我问过一个相关的问题,就是msgbox的弹出会中止程序的运行,后来经指点发现,其实msgbox中止程序运行只是在调试模式下,生成exe就不会了,我分析了一下程序,发现其实msgbox在exe下也会中止程序,是中止后面要执行的语句,只有等待msgbox确认后,后面的语句才会继续执行,怎么样才能改变这种情况呢?用messagebox存在同样的问题。
谢谢!

解决方案 »

  1.   

    标准的Msgbox一定是模态的,所以会中断后面的代码运行。如果想要做的你要的效果,我认为与其费尽研究(还不一定成功),还不如自己做一个窗体模拟,只要显示的时候是非模态的就可以了。或者可以考虑在主程序中调用另外的ActiveEXE,在这个ActiveEXE中使用Msgbox,只要调用方法恰当,Msgbox中断的将是这个ActiveEXE中的代码,与主程序无关。这样就可以了。
      

  2.   

    我觉得自己做个窗体比较好,也很简单。
    但我有些不明白楼主的用意,如果你弹出个对话框,要用户选择是否继续,而你的程序却又在执行了,那该怎么办?
    一般说来,用Msgbox的地方都要用户做出反应后才执行。
      

  3.   

    应该来说做一个MSGBOX窗体是最简单的实现方法了