首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB访问DLL里头的资源

2012-12-23 
VB访问DLL里面的资源用sndPlaySound函数放出WAVE,居然释放就出错,不知道怎么回事。LoadLibrary读FreeLibrar

VB访问DLL里面的资源
用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里面的声音资源!
[解决办法]
这么长时间无人回答,帮你顶一下
[解决办法]
播放资源有一个过程。楼主在播放结束了再释放链接库试试看。
[解决办法]
这么长时间无人回答,帮你顶一下

热点排行