2012-08-10 79 views
0

啓動的程序下面的代碼是我如何啓動程序:隱藏和顯示通過Systems.Diagnostics.Process

System.Diagnostics.Process fooProgram; 
fooProgram = System.Diagnostics.Process.Start("foo.exe"); 

現在我知道,你可以設置參數的StartInfo有程序運行隱藏的,但有一些方法可以在處理過程中隱藏它並將其還原,因爲我只想向用戶顯示特定的屏幕,然後我希望它在顯示信息時自動隱藏自己。我希望像fooProgram.Show()和fooProgram.Hide()這樣簡單的東西,但它似乎並不那麼簡單。

簡單地將它發送到其他程序後面並將其重新聚焦就足夠了,但是這似乎也不在可用操作列表中。

正在啓動的程序是.NET 4表單。

+3

我想你將不得不使用Win32 API來做到這一點。我不知道任何允許的.NET功能。 – toby 2012-08-10 15:14:55

回答

0

我不認爲你可以在.NET中做到這一點 - 你需要使用互操作。

查閱這些功能:

所以你使用FindWindow()得到窗口句柄,然後你會執行其他功能那把手。在向C#公開這些功能方面,請查看這個真棒互操作網站:pinvoke.net

此外,而不是HWND使用IntPtr