2010-01-29 97 views
1
  1. 我想用C#代碼在面板內我的WinForm .NET應用程序運行的exe文件
  2. 我能夠運行exe文件按鈕點擊System.Diagnostics.ProcessStartInfoProcess p = Process.Start("notepad.exe");,但什麼是代碼運行此記事本文件或面板內的任何其他exe文件使用C#代碼?
  3. 我想在面板上運行應用程序,而不是在單獨的window.i上運行了下面的代碼,但exe不停留在屏幕上,也沒有在面板上打開 請告訴我這個解決方案。在C#.NET應用程序的運行面板exe文件

    Process p = Process.Start("notepad.exe"); 
        Thread.Sleep (600); // Allow the process to open it's window 
        SetParent(p.MainWindowHandle, panel1.Handle); 
    
    
    [DllImport("user32.dll")] 
    static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); 
    
+0

@zoya,你檢查我建議的文章?它顯示了你正在尋找的一個例子。 – Giorgi 2010-01-29 09:03:58

回答

3

我認爲你是在談論你的面板中嵌入應用程序是什麼。

這隻可能與創建的可執行文件嵌入。記事本不是其中之一。某些瀏覽器可以是 - Mozilla是一個示例,IE是另一個示例。

+0

謝謝...你可以提供我的任何其他exe文件的代碼 – zoya 2010-01-29 08:55:13

+3

不,我不能。 – Oded 2010-01-29 08:57:40

+0

我的代碼是打開運行在單獨的窗口上的EXE文件,但不能在面板內打開它。該exe文件不穩定 – zoya 2010-01-29 09:06:27

1

我猜你正在尋找這樣:Window Tabifier

+0

感謝您的幫助...可以詳細說明。 我想知道,我怎麼能導航/切換不同的exe文件在我的c#程序上的按鈕單擊事件..基本上我想要切換當前和以前打開的exe文件..im能夠運行一個exe文件在我的程序,但無法提供打開以前運行的exe文件的選項。 – zoya 2010-01-29 09:03:39

+0

你能否給我提供使用c#代碼將exe嵌入到我的.net程序的面板上的解決方案。我不想在獨立窗口上執行exe,我想在面板內執行它。 – zoya 2010-01-29 09:24:37

+0

只要閱讀文章。它帶有源代碼。我不能爲你做。 – Giorgi 2010-01-29 10:12:11

0

你到底想幹什麼?你知道如果你想在面板中運行你自己的程序,你可以寫一些基本的插件代碼,並從反射組件中獲得控制權。

+0

感謝您的答案,但你可以提供給我解決方案,使用c#代碼將exe嵌入到我的.net程序面板中。我不想在獨立窗口上執行exe,我想在面板內執行它。 – zoya 2010-01-29 09:28:23

0

你想要的是將exe的輸出傳遞給你的過程。通常,當你不輸出輸出時,默認爲控制檯應用程序的標準輸出將是控制檯窗口,通過管道告訴你你希望輸出進入你的進程而不是控制檯窗口。然後,您將不得不創建自己的「面板」(多行文本框),並將您調用的exe文件的輸出流附加到它!

在這裏學到:http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput(v=VS.90).aspx

相關問題