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