c.如何运行其内容存储在char数组中的.exe文件?

我正在制作一个特定的程序,我只是想知道我是否可以这样做:

 运行一个文件,其内容存储在ON WINDOWS的char数组中.

这是读取可执行文件并将其存储在char数组中的代码:

filetoopen.open (C:\blahlbah.exe, ios::binary);
filetoopen.seekg (0, ios::end);
length = filetoopen.tellg();
filetoopen.seekg (0, ios::beg);
buffer = new char [length];
filetoopen.read (buffer, length);
filetoopen.close();

我听说过一些关于RunPE的东西,我做了一些搜索,我没有成功找到任何一段C代码.

最佳答案 这显示了如何加载EXE文件并从内存运行它:
http://www.codeproject.com/KB/cs/LoadExeIntoAssembly.aspx

其他读物:CreateProcess from memory buffer和这里:How to run unmanaged executable from memory rather than disc

点赞