2011-04-15 22 views
0

我想製作一個將EXE和數據連接成一個文件的程序。將數據連接到.net應用程序

Basicly:
程序A(節目B,數據)=>方案C

程序A將只合並流成一個。即使使用copy /b B.exe + file.data,但也想到了。所以我不太關心文件合併的乾淨程度。

這個想法是,程序B知道它將以這種方式使用,並會查找數據。想到的問題是程序C如何知道exe代碼在哪裏結束並且數據開始了?我知道dos exes曾經有標題數據定義它們的大小,但我不知道.net中存在什麼用於這種檢查。

+1

你想完成什麼? – 2011-04-15 14:52:36

+1

我想你可能想修改你的問題。 – trickdev 2011-04-15 14:54:36

+0

@trickdev - 謝謝,我從午餐回來,即使我能理解我在問什麼。它被重寫了。 – QueueHammer 2011-04-15 16:53:59

回答

1

雖然您可以從PE頭中找出.exe大小,但還是有一個更簡單的方法:將附加部分的長度作爲最後一個字以及一個幻數。要閱讀它,Seek(-WordSizePlusMagicNumberSize,SeekOrigin.End),讀取它們並驗證它們是有效的。

1

如果您的目標是將數據嵌入到可執行文件中,您是否可以將數據文件作爲資源包含在Visual Studio中?

0

將數據添加爲嵌入式資源

在visual studio中添加您想要添加的文件,然後將文件屬性中的構建操作從None(非代碼類型的默認值)更改爲Embedded Resource。然後編譯

下一步取決於你想用它做什麼?您可以通過ResourceManager從應用程序中訪問它,或者以類似的方式,您可以編寫另一個應用程序以從中獲取此資源數據。

你需要一些背景在你的問題

或者如果你是真的在談論兩個流的,你可以談論ADS,備用數據流,其中,如果沒有記錯,是一種痛苦,但有代碼在那裏,讓一個簡單的(ish)API

相關問題