如何在VC6.0中添加资源文件中添加音乐?

antion692980794 2010-09-18 06:06:13
RT
要连接到exe应用程序的
...全文
350 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯癫小程序 2010-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wltg2001 的回复:]
和添加别的资源是一样的,只不过要你自己加个资源类型的名称,另外用的时候要将这个自定义资源释放成一个文件才能用,下面是一个用定义资源的文章,你可以参考一下:(它是以RAR文件为例的)
1. 在资源编辑器中,【Insert】-【Import】导入需要导入的文件,填写资源类型为【ZIP】,导入的资源名称默认为【IDR_ZIP1】
2. 在需要使用时,通过FindReourse, LoadResour……
[/Quote]标记下。。。
antion692980794 2010-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wltg2001 的回复:]
和添加别的资源是一样的,只不过要你自己加个资源类型的名称,另外用的时候要将这个自定义资源释放成一个文件才能用,下面是一个用定义资源的文章,你可以参考一下:(它是以RAR文件为例的)
1. 在资源编辑器中,【Insert】-【Import】导入需要导入的文件,填写资源类型为【ZIP】,导入的资源名称默认为【IDR_ZIP1】
2. 在需要使用时,通过FindReourse, LoadResour……
[/Quote]
我用另一种方法实现了 你说的也可以 不过有些复杂 还是很感谢大家的帮助!
刚学WINDOWS编程 加油加油!!大家一起进步!!
antion692980794 2010-09-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wltg2001 的回复:]
和添加别的资源是一样的,只不过要你自己加个资源类型的名称,另外用的时候要将这个自定义资源释放成一个文件才能用,下面是一个用定义资源的文章,你可以参考一下:(它是以RAR文件为例的)
1. 在资源编辑器中,【Insert】-【Import】导入需要导入的文件,填写资源类型为【ZIP】,导入的资源名称默认为【IDR_ZIP1】
2. 在需要使用时,通过FindReourse, LoadResour……
[/Quote]
大概意思看懂了 后面那些文件操作不太懂 意思是我需要自己建一个资源类别 然后用FindReourse, LoadResource, LockResource加载资源后就能使用该资源了 是吧?我去试试
感谢了啊
向立天 2010-09-18
  • 打赏
  • 举报
回复
wltg2001 2010-09-18
  • 打赏
  • 举报
回复
和添加别的资源是一样的,只不过要你自己加个资源类型的名称,另外用的时候要将这个自定义资源释放成一个文件才能用,下面是一个用定义资源的文章,你可以参考一下:(它是以RAR文件为例的)
1. 在资源编辑器中,【Insert】-【Import】导入需要导入的文件,填写资源类型为【ZIP】,导入的资源名称默认为【IDR_ZIP1】
2. 在需要使用时,通过FindReourse, LoadResource, LockResource加载资源。LockResource返回的资源在内存中的指针可以直接用于将资源数据(这里也就是您的数据文件数据)写入磁盘文件。

注:应该注意不能对由LoadResource返回的HGLOBAL使用GlobalLock,只能使用LockResource返回资源的内存指针。另外没有必要在使用完资源后再调用UnlockResource。
下面是加载资源的自定义函数LoadZIP()

BOOL LoadZIP()
{

HRSRC hrc = FindResource(
NULL,
MAKEINTRESOURCE(IDR_ZIP1),
_T("ZIP"));
if(hrc == NULL)
return FALSE;
HGLOBAL hGlobal = LoadResource(
NULL,
hrc);
if(hGlobal == NULL)
return FALSE;

//create temp file in system temp directory
_TCHAR pszTempPath[MAX_PATH] = {0};
if(0 >= GetTempPath(
MAX_PATH,
pszTempPath))
{
return FALSE;
}
CString strFilePath(pszTempPath);

DWORD dwSize = ::SizeofResource(

NULL,
hrc);

LPVOID pData = ::LockResource(hGlobal);

//write to file
strFilePath.TrimRight(_T("\\"));
CString strFileName;
strFileName.Format(_T(\\%u.rar), strFilePath, GetTickCount());
strFilePath += strFileName;

CFile file;
if(!file.Open(strFilePath, CFile::modeCreate | CFile::modeWrite))
{
return FALSE;
}

file.WriteHuge(pData, dwSize);
file.Close();

接下来启动WinRAR来解压该资源文件

ShellExecute(m_hWnd, "open", "WinRAR.exe" ,strFilePath, "", SW_SHOW );
}


向立天 2010-09-18
  • 打赏
  • 举报
回复
添加位图你会么?
方法是一样的
只不过在导入的时候会提示你设置一个自定义资源类型
antion692980794 2010-09-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wltg2001 的回复:]
用自定义资源的方式将音乐文件加进来就行了。
[/Quote]
具体做法??我查了好久都没查到
aaaa___1111 2010-09-18
  • 打赏
  • 举报
回复
就是,楼上的说的很正确
wltg2001 2010-09-18
  • 打赏
  • 举报
回复
用自定义资源的方式将音乐文件加进来就行了。

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧