本文介绍如何在VC资源文件中加入自己的声音资源,使自己的应用程序可以播放声音。

  1、首先用文本编辑器(如记事本)打开资源文件(.rc文件)

  在最后加入自己的声音资源,如下IDW WAVE "c:\\kav\\sound\\virus.wav"

  保存资源文件。 
  2、在应用程序中要播放声音的地方启动另一线程,用来播放声音:

AfxBeginThread((AFX_THREADPROC)sound,NULL,THREAD_PRIORITY_NORMAL);
  3、添加线程回调函数

  这里介绍加载资源的方法。首先用函数AfxGetInstanceHandle()获得实例的句柄,其次用函数FindResource找到自己的声音资源。

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;
}

在VC资源文件中加入声音资源相关推荐

  1. 文件_ _android从资源文件中读取文件流并显示的方法

    ======== 1   android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private ...

  2. 将资源文件中的数据写回磁盘

    /// <summary> /// 将资源文件中的System.Data.SQLite.dll写回磁盘 /// </summary> public static void Wr ...

  3. android中的BitMap(二)从网络和资源文件中获得一个BitMap

      //取得网络上图片资源的路径 String urlstring="http://img.wallba.com/Public/Upload/Image/qichebizi/ asidunm ...

  4. maven 打包时动态替换properties资源文件中的配置值

    pom build节点下面添加resource配置: [html] view plaincopy <resources> <resource> <directory> ...

  5. [WM C++]从资源文件中加载显示png/jpg图片

    一. 实现代码 void DrawImage(HDC hdc,RECT& rc,UINT nIDResource,CString lpType) {     HINSTANCE hInst = ...

  6. 系统搜索资源就停止服务器,SQL Server (MSSQLSERVER) 服务启动不了,系统日志显示由于下列服务特定错误而终止: 找不到映像文件中指定的资源名。...

    系统日志报错: SQL Server (MSSQLSERVER) 服务由于下列服务特定错误而终止: 找不到映像文件中指定的资源名. SQL Server日志文件报错 2020-01-19 09:32: ...

  7. Windows Mobile如何得到资源文件中的文件

    在应用程序里嵌入资源,可以避免用户因删除资源文件而造成应用程序出现错误.要使用资源文件中的文件,只需要按下面的方法调用即可: System.IO.Stream GetEmbeddedResource( ...

  8. Qt解决资源文件中添加图片,对应控件不显示图片的问题

    //资源文件--为控件添加图标//:/new/prefix1/image/mr.jpgQPixmap pic; //定义一个图片对象pic.load(":/new/prefix1/a.jpg ...

  9. JDBC编程——从属性资源文件中读取数据库的信息

    JDBC连接数据库(通过类加载的方式注册驱动) 从属性资源文件中读取数据库的信息,这里首先是给大家介绍一下注册驱动的另一种方式--通过类加载的方式注册驱动,这种方式也是程序员经常使用的一种,因为类加载 ...

最新文章

  1. 贪心算法单源点最短路径例题c语言源代码,Dijkstra算法是解单源最短路径问题的一个贪心算法...
  2. xilinx sg dma 注意事项
  3. vagrant学习记录
  4. 从零开始学习Sencha Touch MVC应用之七
  5. 【Unity笔记】使用协程(Coroutine)异步加载场景
  6. Java web表单异步提交,javaweb系统,我的电脑浏览器可以正常异步提交操作参数给后台,但是同事电脑今天却不知道怎么了,提交给后台的参数为空...
  7. TTSR再次理解,主要是针对Texture Transformer TT的全部过程的一个梳理
  8. 不懂电脑如何买电脑_如何选择性价比高的电脑 买电脑要注意什么
  9. 【报告分享】2019年大数据行业研究报告.pdf(附下载链接)
  10. one大白陪你聊聊2021年总结
  11. 《数据库系统概论》错题集
  12. python json函数_Json概述以及python对json的相关操作
  13. 【Android】安卓闪电复习
  14. 杜比专为旧版本Android,Android O专用杜比音效miui10已成功
  15. 浅谈博客、微博与轻博客的区别与联系
  16. 经纬度坐标转换的方法
  17. AD学习笔记(二)原理图库以及原理图绘制
  18. 嵌入式技术可以做哪些产品
  19. python去除pdf水印_聊聊 Python 操作PDF的几种方法(合并、拆分、水印、加密)
  20. Chrome 去掉“该网站的安全证书不受信任!”的提示

热门文章

  1. js 怎么使一个absolute覆盖在父类上面_JS基础-完美掌握继承知识点
  2. 计算机专业毕业后现状,计算机专业怎么样_毕业生道出现状_“千万”别学
  3. N1刷音乐服务器系统,NAS也要发烧-Melco N1A音乐服务器
  4. QlikSense导入oracle数据,【主流BI分析工具对比】12款顶级BI分析工具最佳用例
  5. 【faebdc的模拟赛】T1错位
  6. 2017.10.15 旅行comf 失败总结
  7. 2017.9.11 聪明的燕姿 失败总结
  8. 【英语学习】【Daily English】U01 Greetings / L02 What brings you here?
  9. 二. 2d-2d 对极约束 估计相机位姿pose(R,t)
  10. phpstudy_pro MySQL启动失败的原因