5

我有一个关于我很菜鸟的话题的快速问题。我有一个我制作的程序,它向我称为“工具”的文件夹中的另一个 .exe 发送命令。我以这种格式发送它:

system("tools\\program.exe -r -w file.dat file_new.dat");

一切都很好,但是,当我将我的程序构建为 .exe 时,显然它需要另一个可执行文件位于第二个文件夹中。有没有办法将外部 .exe 包含到我的项目中,所以最终产品只是一个 .exe?

我正在使用 Visual Studio 2008 (lol) 并运行 windows 7 64bit。

谢谢 :)

4

2 回答 2

5

通常,外部依赖项的管理将由安装程序处理。NSIS是我最喜欢的 Windows 平台解决方案。

替代方法:将二进制文件转换为 base64 编码并将其作为头文件嵌入到您的项目中。运行应用程序时,将 exe 的 base64 表示形式转换为二进制序列,然后将该字节序列输出到临时目录中的文件(如 C:\windows\temp 或 %AppData%\Local\Temp)。然后运行exe。完成后,删除exe。

于 2013-05-29T19:44:02.373 回答
1

您可以将文件添加到资源中。在执行命令之前,您可以检查第二个可执行文件是否存在。如果它不存在,则必须从资源中提取数据并存储到文件中...

该线程正在处理从资源中读取 html。它与二进制文件非常相似。

于 2013-05-29T21:07:02.100 回答