2012-03-10 98 views
0

我有一個編譯的exe文件,我用它來轉換圖像。 它被命名爲convert.exe。 我想在我的C#應用​​程序中使用它,而不會在我的應用程序文件夾中看到它。 所以我想我可以添加它作爲一種資源。 問題是: 如何啓動存儲在我的資源中的exe文件的外部進程?從資源啓動過程(exe文件)

+0

首先將它寫入文件可以嗎?因爲直接從內存中運行的東西很棘手,通常毫無意義。 – Ryan 2012-03-10 15:19:59

+0

我想避免將它寫入文件。我不希望它被任何人訪問/複製。 – 2012-03-10 15:21:46

+1

不僅僅是病毒掃描程序和用戶,絕對討厭從某個地方出現一個進程。 Windows也是如此,它有一個核心要求,即進程必須從磁盤上的文件啓動。對其設計方式至關重要。 – 2012-03-10 15:31:09

回答

1

不幸的是,Hans Passant說的沒有辦法。實際上,爲了運行它,您必須先將其保存到磁盤。有幾個應用程序使用此方法。其中之一是SysInternals Process Explorer。它曾經在資源中包含EXE的64版本(我不是100%確定它們仍然以最新版本的方式這樣做)。無論如何,網上有幾個例子和教程。 Here is one

0

如果您在程序中實施某種Web服務器(利用http.sys),您可以從解析(通過windwows webdav客戶端)到URL的unc路徑運行可執行文件。