2012-07-16 88 views
0

可能重複:
Embedding an external executable inside a C# program嵌入exe文件到C#

我有這名登錄並ado.net項目 2個項目,我有自己的.exe

場景一個

讓說,我只有L的.exe文件ogin項目不是代碼,如果我在我的ado.net項目中嵌入了login.exe。

問題1:當我按下按鈕(這是在login.exe文件中)我想關閉該login.exe並打開我的ado.net項目表格... 我該怎麼辦?

問題2:我怎樣才能瞭解按下哪個按鈕,如果我已經可以說,在我的LOGIN.EXE屏幕3個按鈕?

兩個方案

問題1:如果這次我有「ado.net.exe」(不是唯一代碼的EXE),這是從SQL Server,所以我它嵌入到登錄項目中獲取數據。當我將ado.net.exe嵌入到登錄項目中時,如何查看數據(運行ado.net.exe時的數據顯示)?

(順便說一下我設法給ado.net.exe添加到我的登錄項目,但沒有數據顯示,但它顯示了當我單獨運行ado.net.exe文件)

感謝

+2

它不喜歡的嵌入,但實際上引用的可執行文件(相對於DLL的)聲音。這種理解是否正確? – leppie 2012-07-16 11:34:49

+0

我將.exe文件作爲Visual Studio IDE中的資源添加。我遵循這些步驟,我右鍵單擊我的主項目,然後「屬性」,然後「資源」,然後「添加資源」是不是我們如何嵌入一個.exe文件?不是嵌入? – 2012-07-16 11:41:27

+0

這個.exe文件是否有你需要的代碼輸出(點擊作爲例子)或者你只是有一個UNKNOWN .exe? – 2012-07-16 11:49:08

回答

1

由於您沒有login.exe的來源,因此您的選項非常有限。

你可以嘗試使用反編譯了許多反編譯工具之一的原始文件,但更改是一種痛苦,因爲你失去的變量命名和評論。

或者,您可以在Windows中使用UI遠程控制API來嘗試並自動執行在Windows中進行單擊的過程,但這是一種骯髒的骯髒的黑客行爲,並且確實最好嘗試獲取源代碼的副本。這樣做的方法包括操縱消息泵或使用MAA

+0

親愛的約翰,實際上我有登錄項目代碼和ado.net項目代碼。我不需要反編譯工具。我只是一個初學者,我只寫了兩個簡單的應用程序。我想知道如何將一個已編譯的項目(.exe文件)嵌入到另一個項目中,並製作了這個場景。因爲它有可能我可以從某個地方得到一個.exe文件,並且想在我的項目中使用它。請你再讀一遍我的問題。對不起,如果我不能更清楚。謝謝。 – 2012-07-16 12:04:37

+0

你可能不希望有一個.exe文件嵌入,你應該讓你的形式到一個.dll文件(Classlibrary),然後您可以在這兩個應用程序,類庫,所以你不需要兩個不同的可執行文件。一般來說,擁有大量應用程序來完成一個應用程序的工作是一個不錯的選擇,您可以使用類庫或插件在一個應用程序中完成大部分(如果不是全部)事務。 – 2012-07-16 13:30:26

+0

感謝您提供信息,我同意你關於.dll文件,但我不想這樣。我知道我的問題。並有可能的情況一樣,可以說,我做了一個計劃,並把它放到網上,你看它做了偉大的工作,然後ü決定用它在你的項目(也許你用我的程序的輸出)和有隻有可執行文件.exe文件。所以這個問題就出現了。我只是用這種方式彌補了這些情況,我發現了鍛鍊和學習更多的機會。 – 2012-07-16 14:03:04