Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
包括C+中.exe应用程序中的文件(dll、txt等)+; 我用C++编写了一个程序,使用了很多文件,比如.dll或png。 程序和文件位于同一目录中。 是否可以在.exe应用程序中包含文件? 所以我只需要.exe文件来运行程序。_C++_File_Dll_Include_Exe - Fatal编程技术网

包括C+中.exe应用程序中的文件(dll、txt等)+; 我用C++编写了一个程序,使用了很多文件,比如.dll或png。 程序和文件位于同一目录中。 是否可以在.exe应用程序中包含文件? 所以我只需要.exe文件来运行程序。

包括C+中.exe应用程序中的文件(dll、txt等)+; 我用C++编写了一个程序,使用了很多文件,比如.dll或png。 程序和文件位于同一目录中。 是否可以在.exe应用程序中包含文件? 所以我只需要.exe文件来运行程序。,c++,file,dll,include,exe,C++,File,Dll,Include,Exe,啊,是的。答案是在您正在运行的可执行文件的末尾写入您需要的所有文件,这些文件包含在一个zip文件中。以下是:(写入可执行文件)和[断开链接](读取可执行文件)的方法。这是有趣的东西;好问题 请注意,您不能对DLL文件执行此操作-它们必须与可执行文件位于同一目录中,或者安装在计算机上。有趣的问题和答案 我很久以前就这样做了,将所有文件作为资源放在.exe中,然后使用以下过程提取它们: HRSRC hResInfo = FindResource(NULL, MAKEINTRESOURCE(MY_RE

啊,是的。答案是在您正在运行的可执行文件的末尾写入您需要的所有文件,这些文件包含在一个zip文件中。以下是:(写入可执行文件)和[断开链接](读取可执行文件)的方法。这是有趣的东西;好问题


请注意,您不能对DLL文件执行此操作-它们必须与可执行文件位于同一目录中,或者安装在计算机上。

有趣的问题和答案

我很久以前就这样做了,将所有文件作为资源放在.exe中,然后使用以下过程提取它们:

HRSRC hResInfo = FindResource(NULL, MAKEINTRESOURCE(MY_RESOURCE_ID), MY_RESOURCE_TYPE);
HGLOBAL hRes = LoadResource(NULL, hResInfo)
LPVOID lpData = LockResource(hRes);
HANDLE hFile = CreateFile(....)
WriteFile(hFile, lpData, SizeOfResource(NULL, hResInfo), ...);
CloseHandle(hFile)

我的实现的问题是,每次添加新文件时,我都必须重新编译.exe(幸运的是,这只发生了一两次),但最好知道它在后台是如何工作的。

根据您使用的框架,您可以将png文件添加到可执行文件中。如果不从某个地方提取DLL,则无法添加。这是一种更简单的方法,但是如果没有Visual Studio的Pro版本,则很难管理资源文件。