程序运行时我的线程关闭

时间:2016-10-31 17:09:41

标签: multithreading winforms c++-cli

我正在用c ++。net编写一个gmae,就像空间影响一样。我启动游戏表单并在其加载事件中创建一个线程,在应用程序的后台播放音乐。

问题在于,当我按空格键进行拍摄时,它也会播放声音,并停止播放主音乐。

我已经遇到过这个问题,但我被告知线程应该解决这个问题。

我创建了这个帖子,我的问题就出现了。一些帮助将不胜感激。

    private: System::Void GameForm_Load(System::Object^  sender, System::EventArgs^  e) 
{

    Thread^ newThread = gcnew Thread(gcnew ThreadStart(PlayMusic));
    newThread->Name = "MusicaImperio";
    newThread->IsBackground = true;
    if(newThread->IsBackground == true)
    newThread->Start();
    //Sleep(3000);

}

这是加载事件,这是Playmusic方法:

    static void PlayMusic()
{
    PlaySound(TEXT("../Musicas/Game.wav"), NULL, SND_ASYNC | SND_LOOP);
}

1 个答案:

答案 0 :(得分:0)

如果您尝试不在后台运行它。

它可以正常工作还是什么都没有?

也许你可以看到会发生什么