分类: C/C++
2008-01-24 14:02:37
IDW WAVE "c:\\kav\\sound\\virus.wav"保存资源文件。
AfxBeginThread((AFX_THREADPROC)sound,NULL,THREAD_PRIORITY_NORMAL);3,添加线程回调函数
HRSRC FindResource( HMODULE hModule, // module handle LPCTSTR lpName, // resource name LPCTSTR lpType // resource type )找到声音资源后,要用LoadResource加入该资源
HGLOBAL LoadResource( HMODULE hModule, // module handle HRSRC hResInfo // resource handle );最后锁定资源内存块,并返回所标定内存块的虚拟内存地址。如果该资源被成功锁定的话,则返回值指向该资源开始处的第一个字节:
LPVOID pv=LockResource()注意:若上述四步中的任何一步发生问题,则返回并释放相应的内存。接下去要做的事情就是根据文件数据类型进行数据加载。
UINT CPlaySoundView::sound(LPVOID pParam) { HINSTANCE h=AfxGetInstanceHandle(); HRSRC hr=FindResource(h,"IDW","WAVE"); HGLOBAL hg=LoadResource(h,hr); LPSTR lp=(LPSTR)LockResource(hg); sndPlaySound(lp,SND_MEMORY|SND_SYNC); FreeResource(hg); return 0; }