我在程序出现特定事件时用Beep函数来不断发出声音进行提示,可是在Beep报警时好象程序停止响应了,按其它按钮时反应很慢,我想在Beep有效时可以有时间来处理其它事件(比如说可以对按钮事件立刻做出响应),有什么办法解决吗?

解决方案 »

  1.   

    莫非要把Beep放到线程里面去执行?
    MSDN 关于Beep:
    Beep
    The Beep function generates simple tones on the speaker. The function is synchronous; it does not return control to its caller until the sound finishes. BOOL Beep(
      DWORD dwFreq,      // sound frequency
      DWORD dwDuration   // sound duration
    );
    可见,你要实现你的目的,只能是把Beep放到工作线程里面执行了。
      

  2.   

    可以考虑使用PlaySound函数,异步地发声。