我想嵌入一个文件(任何类型的)到我的EXE应用程序,并能够提取在远程使用它,我知道如何通过嵌入资源做到这一点,但我不想将文件放在应用程序目录中,我想将所有文件(如.rec)存储到我的exe文件中,在c#中可以存储为文本文件,然后读取它通过FileStream,但在Delphi中,资源文件与exe文件是分开的。 有没有解决方案来做到这一点?非常感谢!嵌入文件到delphi EXE应用程序(而不是一个单独的文件从应用程序)
4
A
回答
16
您应该创建一个.rc文件并将其添加到您的项目中。 RC文件的内容是这样的:
FIXED48 IMAGE ..\Resources\Fixed48x48.png
MENU16 IMAGE ..\Resources\Menu16x16.png
TICK SOUND ..\Resources\Tick.wav
PING SOUND ..\Resources\Ping.wav
现在你做一个构建完成后,您可以使用TResourceStream加载这些fikles之一:
procedure TdmReportGeneral.InsertLogo(Memo: TStringList; View: TfrView);
var
S: TResourceStream;
begin
if (View is TfrPictureView) and (View.Name = 'Logo') then begin
S := TResourceStream.Create(0, 'FIXED48', 'IMAGE');
try
// do something useful... TfrPictureView(View).Picture.MetaFile.LoadFromStream(S);
finally
S.Free();
end;
end;
end;
2
1
DelphiDabbler在这个话题上有a great article。他们甚至包括2个下载示例项目,演示如何将文件作为资源嵌入,以及如何将其读回。
你可以下载一个worked example是 证明我们这里 描述 - 它使用上面的代码。 zip文件 包含一对项目。第一个 是一个将提供的富文本文件嵌入到资源文件中的程序。 第二个程序包含资源 文件,并在上面显示富编辑组件中的富文本。
相关问题
- 1. 从编译的应用程序生成单个exe文件
- 2. 嵌入reportman到Delphi应用程序
- 3. 从单个共享exe文件运行dotnet应用程序
- 4. Spring Boot嵌入式Tomcat应用程序作为Windows EXE文件
- 5. 如何创建一个单独的exe文件来分发C#应用程序?
- 6. 份额从一个应用程序Excel文件到另一个应用程序
- 7. 将单轨应用程序嵌入另一个应用程序
- 8. 将现有的exe文件嵌入到另一个程序中
- 9. Python的pyqt与ui文件独立的应用程序和EXE?
- 10. 如何在VC++ EXE程序中嵌入一个EXE文件
- 11. 多个应用程序文件在一个Android应用程序
- 12. 将一个kivy应用程序打包成一个exe文件
- 13. AirDrop文件从应用程序到应用程序,但文件只能打开到应用程序
- 14. 在另一个Delphi应用程序中嵌入Delphi窗口
- 15. 如何为php独立应用程序创建exe文件?
- 16. 存储应用程序文本:内嵌与独立文件
- 17. 在Windows应用程序中包含一个.bat文件或一个.exe文件
- 18. Java Webstart应用程序 - 从单独的文件加载属性
- 19. 程序打印单独的行而不是整个文件
- 20. 构建单个文件应用程序
- 21. 应用程序写入“.log.1" 文件,而不是” .LOG”文件运行logrotate的
- 22. 的Visual Studio 10应用程序.exe和.msi程序在一个文件中
- 23. Django的 - 从单独的应用程序
- 24. XCode 4.5应用程序文件启动安装程序,而不是程序?
- 25. 应用程序看不到文件
- 26. 将应用程序清单嵌入到VB6 exe中
- 27. 不包括.exe文件(引用我的应用程序)
- 28. 在另一个应用程序中嵌入应用程序
- 29. 将ember-cli应用程序嵌入另一个应用程序
- 30. 从另一个Silverlight应用程序启动Silverlight应用程序还是嵌入Silverlight应用程序?
你误会了一些东西。在Delphi中,与所有开发环境一样,资源在开发期间是分开的*。在编译并链接你的程序之后,资源在* EXE文件中。您可以在C#中执行相同的操作,但是您不会使用FileStream来读取它,因为您不想为了获取嵌入文件而读取整个EXE文件。 – 2010-02-19 17:30:51
另外请注意,如果您想在Vista/Win7上解压后运行此可执行文件,您可能需要目标机器的管理权限。 – skamradt 2010-02-19 17:50:56