C# 将数据连接到.net应用程序

C# 将数据连接到.net应用程序,c#,file,append,C#,File,Append,我想制作一个程序,将exe和数据连接到一个文件中 基本上: 程序A(程序B,数据)=>程序C 程序A将只合并到一个流中。即使使用copy/b b.exe+file.data也会出现在脑海中。所以我不太关心文件合并的干净程度 这个想法是程序B知道它将以这种方式使用,并将查找数据。我想到的问题是,程序C如何知道它的exe代码在哪里结束,数据在哪里开始?我知道dos exe过去有定义其大小的头数据,但我不知道.net中有什么用于此类检查。如果您的目标是将数据嵌入可执行文件中,是否可以将数据文件作为资源

我想制作一个程序,将exe和数据连接到一个文件中

基本上:
程序A(程序B,数据)=>程序C

程序A将只合并到一个流中。即使使用
copy/b b.exe+file.data
也会出现在脑海中。所以我不太关心文件合并的干净程度


这个想法是程序B知道它将以这种方式使用,并将查找数据。我想到的问题是,程序C如何知道它的exe代码在哪里结束,数据在哪里开始?我知道dos exe过去有定义其大小的头数据,但我不知道.net中有什么用于此类检查。

如果您的目标是将数据嵌入可执行文件中,是否可以将数据文件作为资源包含在visual studio中?

而您可以从PE头计算.exe的大小,有一种更简单的方法:将附加部分的长度写为最后一个单词,并附上一个神奇的数字。要读取数据,请查找(-WordSizePlusMagicNumberSize,请参见Korigin.End),读取并验证它们是否有效。

将数据添加为嵌入式资源

在visual studio中,添加要添加的文件,然后将文件属性中的生成操作从“无”(非代码类型的默认值)更改为“嵌入资源”。然后编译

下一步取决于你想用它做什么?您可以通过ResourceManager从应用程序中访问它,或者以类似的方式编写另一个应用程序以从中提取此资源数据

你的问题需要一些背景知识


或者,如果你真的在谈论两个流,你可能在谈论广告,替代数据流,如果内存可用,这是一个痛苦的问题,但有代码提供了一个简单的(ish)API

你想完成什么?我想你可能想修改你的问题。@trickdev-谢谢,我吃完午饭回来了,甚至我都能理解我的要求。这是重写的。我以前不是很清楚。我想将数据附加到base exe,并让它知道数据从哪里开始。由于在解决方案的开发过程中不会这样做,所以我不能这样添加它。我想到了这个解决方案,但它在平面二进制concat的情况下不起作用。对于这个任务,我能得到多少PE头的信息?我已经很久没有研究过PE文件的结构了。我可以想象,谷歌搜索“PE文件格式”将为您提供所需的信息。基本格式从未改变,也永远不会改变。它的整体格式改变,以适应新事物,如.Net应用程序,但我不相信这会影响你如何找到你的方式自然结束它。我不清楚为什么你不能在一个文件中添加一个大小和一个神奇的数字。