社区
进程/线程/DLL
帖子详情
只有高手才能回答的问题!解决即刻结贴给分200!
guoyin
2004-10-17 09:03:28
本人想了解下面软件如何实现,给出原理100分,有代码全部送上200分
http://soft.ttdown.com/SoftView/SoftView_19972.html
MP3toExe
...全文
415
20
打赏
收藏
只有高手才能回答的问题!解决即刻结贴给分200!
本人想了解下面软件如何实现,给出原理100分,有代码全部送上200分 http://soft.ttdown.com/SoftView/SoftView_19972.html MP3toExe
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qrlvls
2005-01-17
打赏
举报
回复
思路1的实现应该比较简单:
mp3player.exe + 数据长度(length of mp3) + mp3.mp3
qrlvls
2005-01-17
打赏
举报
回复
思路1:生成执行文件模板,使用Copy +的方式将MP3追加到EXE尾部,EXE读取执行文件末的数据文件并播放
思路2:编码播放MP3的源码,通过VC自带的编译器编译生成
tabris17
2005-01-16
打赏
举报
回复
>本软件是一款将MP3转换成EXE的工具,这样,不用播放器即可播放MP3了,这样,减少了内存的占用及CPU的负担。
瞎扯蛋,难道它生成的那个EXE就不占内存了
guoyin
2005-01-16
打赏
举报
回复
近期将结贴,欢迎讨论
漂流的代码
2005-01-16
打赏
举报
回复
写一个简单的mp3播放程序,用mci就可以了,然后把自己打开,读取mp3文件数据。这个程序的结构大致是
----------------------
MP3Player(2进制代码)
----------------------
MP3音频数据
----------------------
MP3数据长度
-----------------------
伪算法表示如下
FILE *GetMp3File()
{
GetModulePath; //取得自己的名字
FILE *f=fopen(selfName,"rb");
fseek(f,-sizeof(int),SEEK_END);
int length;
fread(&length,1,sizeof(int),f);
fseek(f,-length-sizeof(int),SEEK_END);
return f;//可以像普通文件那样读数据
}
生成时exe时,只要将mp3附加到exe后,然后写入mp3文件长度即可,例如
fNew=fopen(NewName,"wb");
fExe=fopen(ExeName,"rb");
fMp3=fopen(Mp3Name,"rb");
fread(ExeData,1,ExeLength,fExe);
fwrite(ExeData,1,ExeLength,fNew);
fread(Mp3Data,1,Mp3Length,fMp3);
fwrite(Mp3,Data,1,Mp3Length,fNew);
fwrite(&Mp3Length,1,sizeof(Mp3Length),fNew);
如果用file函数不行,就换其他函数如CreateFile等
oyljerry
2005-01-15
打赏
举报
回复
把mp3作为资源
kugou123
2004-10-22
打赏
举报
回复
还有一种方法,直接把MP3文件追加到简单播放程序的尾部,播放的时候,先释放,在播放,和以上原理相似。
cnwww
2004-10-22
打赏
举报
回复
引用:
"本软件是一款将MP3转换成EXE的工具,这样,不用播放器即可播放MP3了,这样,减少了内存的占用及CPU的负担。"
有吹的成分,至少会增加磁盘空间占用量.
pepsi1980
2004-10-21
打赏
举报
回复
网上有这样得代码得。可惜我找不到了:(
kugou123
2004-10-21
打赏
举报
回复
主要用到的API函数:
HRSRC FindResource( HMODULE hModule,
LPCTSTR lpName,
LPCTSTR lpType
);
//查找资源
DWORD SizeofResource( HMODULE hModule,
HRSRC hResInfo
);
//取得资源大小
HGLOBAL LoadResource( HMODULE hModule,
HRSRC hResInfo
);
//装载资源
LPVOID LockResource( HGLOBAL hResData
);
//锁定资源
示例:
HRSRC hResource;
HGLOBAL hResourceData;
DWORD dwWritten,dwSize;
HANDLE hFile;
LPBYTE pMemory;
hResource=FindResource(NULL,MAKEINTRESOURCE(IDR_MP3),"mp3"); //这里是你添加进来的MP3资源名称
if(hResource==NULL)
AfxMessageBox("没有找到资源!");
dwSize=SizeofResource(NULL,hResource);//取得资源大小
hResourceData=LoadResource(NULL,hResource);//装载资源
if(hResourceData==NULL)
AfxMessageBox("装载资源失败!");
pMemory=(LPBYTE)GlobalAlloc(GPTR,dwSize);
if(pMemory==NULL)
AfxMessageBox("分配内存失败!");
CopyMemory((LPVOID)pMemory,(LPCVOID)LockResource(hResourceData),dwSize);
hFile=CreateFile("c:\\windows\\temp\\temp.mp3",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
if(hFile!=NULL)WriteFile(hFile,(LPCVOID)pMemory,dwSize,&dwWritten,NULL);
else AfxMessageBox("创建文件失败!");
CloseHandle(hFile);
GlobalFree((HGLOBAL)pMemory);
这样,你已经把MP3从资源中释放了出来,再用你的程序播放即可。
如果楼主还有不明白,你可以参考10月的CSDN开发高手,李马兄的文章《浅析木马服务端的生成技术》
kugou123
2004-10-21
打赏
举报
回复
写一个简单的播放MP3的程序,把MP3作为资源导入,编译,然后程序运行时,先查找资源,然后把资源写成一个临时文件,开始播放,播放完毕,删除刚才的临时文件。
w100
2004-10-19
打赏
举报
回复
mark
guoyin
2004-10-19
打赏
举报
回复
自己顶一下
huaboy408
2004-10-18
打赏
举报
回复
把mp3压缩然后和微型播放器组合在一起吧
DentistryDoctor
2004-10-18
打赏
举报
回复
将mp3作为exe的资源即可。
roger_ding
2004-10-18
打赏
举报
回复
把mp3解码的代码写在前面,然后decode后面的mp3
Mr-Chen
2004-10-18
打赏
举报
回复
主要是文件合成,将文件,解压缩码和播放器合成一个文件
snaill
2004-10-17
打赏
举报
回复
哦,就是自解压zip一样,在一个mp3文件前面加一个播放程序而已
smallcrocodile
2004-10-17
打赏
举报
回复
点解
snaill
2004-10-17
打赏
举报
回复
mark
怎么练字才会有效果,多久才能有体现
娶个名儿 ,关心政治学习法律的书法爱好者 132 人赞同 记得儿时初学书法,家里有一本线装书,叫《书法秘诀》,翻开第一页,上写:“初学书,当以王逸少,颜鲁公,欧阳率更之一专研,十载必有小成”。当时看时,不由得绝望。十年得多长啊。 然而一路走来,学书至今,已几近二十年了。虽然并无多大进步,但是至少把书法培养成了自己的终生爱好了。 一些废话,答不及题,姑且看之。
数本管理学书籍小结
管理学总结 书籍其实就是对日常生活、工作的总结,是对日常中并没有总结或不懂得总结的人们进行的总结和叙述。 企业成员怕的不是管理者,而是背后的管理制度,从侧面也反映了成员潜意识认可了企业某些方面,从而才愿意去遵守。 员工怕的不是管理者本人,而是企业的治理框架中的制度,这就为什么要求企业管理者要有领导力的原因,领导力即软技能。人是拥有趋利避害天性的,所以管理就是管理人性如在
分
配任务时,员工自然希望任务的完成时间越长越好,这就意味着企业的成本增加了......即员工的计划驱动变更为价值驱动。 员工为什么要
经典箴言和人生感悟
lihongmei0我的:收件箱资源博客空间设置|帮助|退出 首页 业界 移动 云计算 研发 论坛 博客 下载 更多 人的一生中只有七次机会,平均每七年拥有一次,大概在25岁到75岁,第一次通常抓不到,因为太年轻,最后一次也抓不到,因为太老。中途还有2次因为自己错过,所以抓不到。所以对于人来说人真正才会有三次机会,人的一生真正只有三次,只有称为能改变自己命运的机会才可以称作是机会。其
《红楼梦》的作者真的是曹雪芹吗?
随狂风去尚书令等 19,569 人赞同了该
回答
作者名字确实是叫曹雪芹,但此曹雪芹绝不是江宁织造府的那位“曹雪芹”。谈这个
问题
,必须先认识到一点:曹雪芹这三个字它只是个笔名,红楼的作者,在真实历史中,另有自己的真名实姓。而我们想找的,就是“曹雪芹”究竟是历史上的哪路好汉。1921年,胡适写了一本《红楼梦考证》,说曹雪芹是康乾时期江宁织造曹府的公子,曹寅之孙,曹顒之子。自从胡适提出“曹府论”后,很多红学家和爱好者以此为基础,从红学中另开辟出一个
分
支“曹学”,可惜这么多年过去,这个曹学并没有研究出什么让人信服的
【经典箴言 || 人生感悟 】
人的一生中只有七次机会,平均每七年拥有一次,大概在25岁到75岁,第一次通常抓不到,因为太年轻,最后一次也抓不到,因为太老。中途还有2次因为自己错过,所以抓不到。所以对于人来说人真正才会有三次机会,人的一生真正只有三次,只有称为能改变自己命运的机会才可以称作是机会。其实人生的机会很快就会过去。能真正抓住机会的人,首先靠的是自己个人的能力;其次靠的是环境。 一个人如果素质不好,行为不好,那么即使你
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章