用sndPlaySound函数放出WAVE,居然释放就出错,不知道怎么回事。LoadLibrary 读
FreeLibrary 放
Dim hRes As Long hRes = LoadLibrary (ResDllName) Dim hRsrc As Long, hGlobal As Long, lpData As Long, tempName As String
hRsrc = FindResource(hRes, tempName, ResType '找到指定的资源
hGlobal = LoadResource(hRes, hRsrc) '载入资源文件的指定资源
lpData = LockResource(hGlobal) '锁定该资源以调用之
sndPlaySound lpData, OpenMode '调用该资源
GlobalUnlock hGlobal '解除锁定的资源
DeleteObject hGlobal
Case Else
Exit Function End Select
FreeLibrary hRes '释放DLL如果有FreeLibrary hRes 程序就出错,如果没有这句,居然没问题,但不释放会造成内存泄漏啊。不知各位有没有更好的代码,访问标准DLL里面的声音资源!
FreeLibrary 放
Dim hRes As Long hRes = LoadLibrary (ResDllName) Dim hRsrc As Long, hGlobal As Long, lpData As Long, tempName As String
hRsrc = FindResource(hRes, tempName, ResType '找到指定的资源
hGlobal = LoadResource(hRes, hRsrc) '载入资源文件的指定资源
lpData = LockResource(hGlobal) '锁定该资源以调用之
sndPlaySound lpData, OpenMode '调用该资源
GlobalUnlock hGlobal '解除锁定的资源
DeleteObject hGlobal
Case Else
Exit Function End Select
FreeLibrary hRes '释放DLL如果有FreeLibrary hRes 程序就出错,如果没有这句,居然没问题,但不释放会造成内存泄漏啊。不知各位有没有更好的代码,访问标准DLL里面的声音资源!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货