<分区>
我正在尝试从 DLL 中播放音乐。但是,每当我尝试这样做时,PlaySound 函数什么都不做。
我已经尝试过将 wav 文件放在资源中,并且我知道当我将 DLLMain 编译为普通主程序时,代码可以正常工作,它可以毫无问题地播放音乐。 DLLMain 代码如下所示:
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
PlaySoundA("C:\\Sound.wav", NULL, SND_FILENAME);
}
return TRUE;
奇怪的是,我可以看到这首歌在程序的内存中;当它播放一首歌时,它的内存使用量上升到它应该做的,但是它没有声音。此外,编译为 exe 的相同代码也能完美运行;我不知道出了什么问题。
更新: 原来这是因为您不能在 DLLMain 中执行很多事情 - 有什么办法可以解决这个问题吗?