社区
资源
帖子详情
如何插入音频资源到exe文件中
小菩提的尾巴
2010-04-28 10:16:10
请问各位高手,如何将音频资源(如wav等支持的格式)插入到exe文件中,比如说,我打开exe就播放音乐,但音乐资源是在exe文件本身内,而不是放在exe外面的文件,这样在发布exe时,就只发送一个exe文件,而不是还包括xx.wav文件,可能说得不太清楚,但请懂的高手详细介绍,包括如何插入资源以及在代码中如何调用.另外说一下,我是直接调用Windows api的,也就是sdk编程。
...全文
638
9
打赏
收藏
如何插入音频资源到exe文件中
请问各位高手,如何将音频资源(如wav等支持的格式)插入到exe文件中,比如说,我打开exe就播放音乐,但音乐资源是在exe文件本身内,而不是放在exe外面的文件,这样在发布exe时,就只发送一个exe文件,而不是还包括xx.wav文件,可能说得不太清楚,但请懂的高手详细介绍,包括如何插入资源以及在代码中如何调用.另外说一下,我是直接调用Windows api的,也就是sdk编程。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小菩提的尾巴
2010-04-30
打赏
举报
回复
终于搞定了,我的代码如下:
HRSRC hrc = FindResource(NULL,MAKEINTRESOURCE(IDR_WAVE1),TEXT("WAVE"));
if(hrc == NULL)
{
return 0;
}
HGLOBAL hGlobal = LoadResource(NULL,hrc);
if(hGlobal == NULL)
{
return 0;
}
TCHAR *lpResLock = (TCHAR*)LockResource(hGlobal);//lpResLock指向HelloWin.WAVE数据
if(lpResLock == NULL)
{
return 0;
}
PlaySound(lpResLock,NULL,SND_MEMORY | SND_ASYNC);
我参考了另外一些资料,并根据wltg2001说的方法,还有wwwxhb提供的连接,写成代码如上,供大家参考。
不管如何,总算搞定了,结贴慢了点,还望见谅!!!多谢大家的帮助!!!
lfxyan
2010-04-29
打赏
举报
回复
谢谢指教,学习中。。。。
向立天
2010-04-29
打赏
举报
回复
[Quote=引用 3 楼 lester_2008 的回复:]
一楼的能否给一下纯sdk编的代码,不调用MFC类的,直接用Windows api的,小弟刚学sdk编程的,还没看MFC啊,还有插入资源后,用哪个函数来播放音乐啊,是否PlaySound()函数啊?
[/Quote]
我觉得你应该动手实践一下
wltg2001的回答已经相当具体了
wwwxhb
2010-04-29
打赏
举报
回复
http://blog.csdn.net/wokagoka/archive/2009/01/06/3719115.aspx 你看看。
m_tornado
2010-04-29
打赏
举报
回复
[Quote=引用 2 楼 visualeleven 的回复:]
当成资源文件导入到工程中
[/Quote]
up简短 真理
wltg2001
2010-04-29
打赏
举报
回复
[Quote=引用 3 楼 lester_2008 的回复:]
一楼的能否给一下纯sdk编的代码,不调用MFC类的,直接用Windows api的,小弟刚学sdk编程的,还没看MFC啊,还有插入资源后,用哪个函数来播放音乐啊,是否PlaySound()函数啊?
[/Quote]
我用了MFC了吗?好像除了用CString这个字符串类之外,其余的全是API吧,另外还有个CFile也是MFC类,但是CString不过是用来处理文件名的,CFile也是打开文件的,你用相应的API替换一下就行了。
另外,我上面的代码并没有播放音乐啊,我只是演示了如何将一个WAV资源释放出来,成为一个WAV文件,对于WAV这种自定义资源来说,是没有API可以播放的,只能是将它从资源中释放出来,成为一个临时文件,然后用PlaySound放。
小菩提的尾巴
2010-04-29
打赏
举报
回复
一楼的能否给一下纯sdk编的代码,不调用MFC类的,直接用Windows api的,小弟刚学sdk编程的,还没看MFC啊,还有插入资源后,用哪个函数来播放音乐啊,是否PlaySound()函数啊?
Eleven
2010-04-28
打赏
举报
回复
当成资源文件导入到工程中
wltg2001
2010-04-28
打赏
举报
回复
一般的做法就是当作自定义资源加入到EXE中去,具体方法如下:
1. 在资源编辑器中,【Insert】-【Import】导入需要导入的文件,填写资源类型为WAV,导入的资源名称默认为IDR_WAV
2. 在需要使用时,通过FindReourse, LoadResource, LockResource加载资源。LockResource返回的资源在内存中的指针可以直接用于将资源数据(这里也就是您的数据文件数据)写入磁盘文件。
代码大致如下:
HRSRC hrc = FindResource(
NULL,
MAKEINTRESOURCE(IDR_WAV),
_T("WAV"));
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(\\1.wav), strFilePath, GetTickCount());
strFilePath += strFileName;
CFile file;
if(!file.Open(strFilePath, CFile::modeCreate | CFile::modeWrite))
{
return FALSE;
}
file.WriteHuge(pData, dwSize);
file.Close();
MFC添加
音频
文件
在本文
中
,我们将深入探讨如何在MFC(Microsoft Foundation Class)应用程序
中
添加
音频
文件
的处理。MFC是微软提供的一套C++库,用于构建Windows应用程序,它为开发者提供了丰富的功能,包括用户界面元素、
文件
操作...
把
资源
编译进
EXE
之(二)打造定制的
资源
编译器 工程包
在IT领域,
资源
静态编译是一项重要的技术,它允许开发者将各种
资源
如图像、
音频
、文本
文件
等直接嵌入到可执行程序(
EXE
)
中
,以便在运行时无需额外的外部
文件
支持。本篇文章主要关注如何打造一个定制的
资源
编译器,...
EXE
资源
分析器
ResHacker 3.5.
exe
是一个经典的
资源
编辑器,它允许用户打开、查看和修改.
exe
、.dll、.res等
文件
中
的
资源
。这个版本的ResHacker提供了用户友好的界面,支持添加、删除、替换
资源
,并且可以对
资源
进行编译和链接操作...
ffmpeg
文件
资源
压缩包
解压提供的压缩包后,通常会得到一个可执行
文件
(如ffmpeg.
exe
),将其添加到系统路径,就可以在命令行
中
直接调用FFmpeg执行各种操作了。 例如,以下是一些基本的FFmpeg命令示例: - 转换视频格式: ``` ffmpeg -i ...
mp3stego-gui
音频
隐写软件,附件包含使用手册、ctf题目例子、CTF群
资源
内容概要:mp3stego是一个在通用的MP3
音频
文件
中
隐写的软件,对MP3进行隐写,附件包含使用手册、ctf题目例子、CTF群
资源
适合人群:ctf初学者,需要
音频
隐写工具,对 能学到什么:附件
中
包含工具的两种使用方法,还...
资源
2,586
社区成员
18,436
社区内容
发帖
与我相关
我的任务
资源
VC/MFC 资源
复制链接
扫一扫
分享
社区描述
VC/MFC 资源
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章