首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++如若嵌入exe文件呀,并且运行嵌入的exe文件.

2013-12-26 
c++如果嵌入exe文件呀,并且运行嵌入的exe文件..?比如说我有1.exe 2.exe然后一个主程序3.exe,主程序里面两

c++如果嵌入exe文件呀,并且运行嵌入的exe文件..?
比如说我有1.exe 2.exe然后一个主程序3.exe,主程序里面两个按钮1和按钮2,点击按钮1的时候就打开1.exe,点击按钮2就打开2.exe...

我在网上搜出来的不行....

HRSRC res=FindResource (NULL,MAKEINTRESOURCE(IDR_EXE1),"EXE"); 
HGLOBAL gl=LoadResource (NULL,res); 
LPVOID lp=LockResource(gl);
HANDLE fp= CreateFile("C:\\2.exe",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL); 
DWORD a;
这是我搜到的.....

谢谢大家了...
[解决办法]
system("C:\\2.exe");
[解决办法]
ShellExecute?
[解决办法]
简单的说,把1.exe和2.exe文件的十六进制作为数组插入3.exe源码里winhex工具就可完成这种转换,用的时候直接写文件,再system调用。
我嵌入了个133字节的微型MessageBoxA程序,xp下tinycc编译通过,你看:

#include <stdio.h>
#include <stdlib.h>
unsigned char bincode[133] = {
0x4D, 0x5A, 0xFF, 0xFF, 0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x01, 0x00, 0x75, 0x73, 0x65, 0x72, 
0x33, 0x32, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0xFF, 0x40, 0x00, 0x0F, 0x01, 0x0B, 0x01, 0xFF, 0xFF, 
0x4D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6F, 0x78, 0x41, 0x00, 0x44, 0x00, 0x00, 0x00, 
0xFF, 0x15, 0x7C, 0x00, 0x40, 0x00, 0xC3, 0xFF, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 
0x04, 0x00, 0x00, 0x00, 0xB8, 0x20, 0x00, 0x40, 0x00, 0xEB, 0x03, 0xFF, 0x04, 0x00, 0x6A, 0x41, 
0x50, 0x50, 0xEB, 0x20, 0x89, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x02, 0x00, 0xFF, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 
0x0C, 0x00, 0x00, 0x00, 0x6A, 0x00, 0xEB, 0xB8, 0x02, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x5C
};
main()
{
FILE* fp=fopen("a.exe","wb");
fwrite(bincode, 1, 133, fp);
fclose(fp);
system("a.exe");
return 0;
}

热点排行