初学windows编程,我想知道怎样可以让一个程序暂停,我试过system("pause");但是它要弹出一个DOS窗口,还有别的办法吗?(请不要使用MFC的东西,我还没学那个)

解决方案 »

  1.   

    <Windows 核心编程> 7.2
      

  2.   

    Sleep( second ),程序暂停指定时间。WaiteForSingleObject(); // P操作
    SetEvent();             // V操作上面都是Windows API,细节查MSDN吧
      

  3.   

    恰恰相反,对于Window编程来说,我们要做的是怎么使程序“动起来”,如果不处理Windows消息,这个程序就什么也不做。可以说,Windows程序随时处在“暂停”的状态,直到你处理一个消息。
      

  4.   

    sleep 吧
     不过 Mackz(在相互) ( ) 信誉:117 说的在理
      

  5.   

    MessageBox(0,"pause","pause",0)
    哈。简单吧。
      

  6.   

    to Mackz(在相互) :
    我的MessageBox(0,"pause","pause",0)不是即满足了你也满足了楼主吗?
      

  7.   

    等待方法很多
    : Mackz(在相互) 说的很牛
      

  8.   

    我是楼主,你们的方法我都试了,首先,Sleep()不行,因为一旦用Sleep(),程序就干不了其他的事情了,一直处于Sleep()了,yl0002(yl) ( ) 信誉:99 的方法也不行,你那个直接弹个对话框出来,但是程序仍然在执行。Mackz(在相互) ( ) 信誉:117 说得非常好,给我启发很大,但现在我的问题又来了,如何让程序不处理消息,直到我发出命令,再接受消息?
      

  9.   

    用SendMessage,sleep一段时间再返回
      

  10.   

    while里面sleep撒,自己建个全局变量,判断,是否break
      

  11.   

    在消息循环里面设置一个标志,每次收到消息后都进行判断。
    当收到你的消息后将这个设为假,同时检查以后收到的消息,如果再次收到定义的消息则将标志设回为真。
    Flag=!Flag
      

  12.   

    噢。是这么回事。MessageBox是不行啊。
    你需要的是一个模态对话框。
    你要是用mfc就好的。showDialog就行了。
    Win32下写模态对话框。就不知道有什么简单一点的办法了。
    所以我的最后答案是
    模态对话框.show
      

  13.   

    我又回来了。
    谁说MessageBox不能暂停。
    差点让你们给蒙了。
    vs2003下建立个控制台工程。
    #include <windows.h>
    MessageBox(0, "a", "a", 0);
    int n;
    n = 4;// 这里下断点。运行程序。
    程序会等用户单击确定后,才能在n=4处断下。
    这不就是暂停吗?
    把MessageBox换成system("pause");效果不是一样吗?(楼主最开始不就是不喜欢那个dos窗口吗?)
    简单吧。哈哈哈。真不懂Mackz(在相互)和楼主在研究什么。