谢谢。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      sndPlaySound('C:\WINNT\Media\chimes.wav', SND_FILENAME or SND_ASYNC);
      postmessage(……);//播音结束了
    end;
      

  2.   

    sndPlaySound之后会继续执行下面的语句呀。
    请教怎么用postmessage来判断!!
      

  3.   

    sndPlaySound('C:\WINNT\Media\chimes.wav', SND_FILENAME or SND_ASYNC);
    SND_ASYNC  是异步运行的意思
    SND_SYNC   是同步运行的意思如果要满足你的要求,就要是用SND_SYNC参数,这样在没有播放结束之前,系统会停止在sndPlaySound处!
      

  4.   

    我用的就是SND_ASYNC,可是它没有停在那里呀。
      

  5.   

    SND_ASYNC  是异步运行的意思  不会停止
    SND_SYNC   是同步运行的意思  会停止
      

  6.   

    如果不想程序被挂起,又可以知道PlaySound什么时候播放完音乐,需要怎么办那????