2011-08-03 95 views
-1

我使用這個代碼現在:問題WindowStyle和的ProcessStartInfo

ProcessStartInfo startInfo = new ProcessStartInfo(); 
Process process = new Process(); 

private void button1_Click(object sender, EventArgs e) { 
    startInfo.FileName = @"D:\קוד C#\WindowsFormsApplication11\WindowsFormsApplication11\obj\x86\Debug\WindowsFormsApplication11.exe"; 
    // startInfo.Arguments = "-console -game cstrike +map de_dust +maxplayers 16 -port 27017"; 
    startInfo.WindowStyle = ProcessWindowStyle.Hidden; 
    process.StartInfo = startInfo; 
    process.Start(); 
} 

private void button2_Click(object sender, EventArgs e) { 
    startInfo.WindowStyle = ProcessWindowStyle.Maximized; 
} 

的代碼實際上是工作得很好,但問題是:

當我啓動程序(點擊button1)該程序運行爲「隱藏」(如我所願)。但是我怎樣才能改變它不在hidden模式?

另一個問題:

那麼如果程序無法進入hidden模式?那我該怎麼辦?

+1

你能更具體一點嗎?按Button2時它會隱藏嗎? –

+1

如果你想改變窗口的過程開始後,你可以使用FindWindow Win32 API獲取窗口,並改變其可見性... –

+0

只有當我按下按鈕1時隱藏進程。當我按下按鈕2沒有什麼好事,它的支持得到最大化; –

回答

0

執行此操作的正常方法是將系統托盤圖標放入。隱藏程序後,可使系統托盤圖標可用,並將再次顯示窗口的操作置於托盤圖標的上下文菜單中。

+0

我同意。我沒有考慮過,但是。我會很高興知道如何做到這一點,只爲知識。如果我想要一個系統托盤,我可以做這個.hide()。謝謝 –

+0

http://jameskovacs.com/2006/01/11/how-to-minimize-to-the-system-tray/這可能會幫助你一點。 – Hammerstein

+0

我不需要系統托盤(我非常熟悉它)我想知道我的第一個quiston,那是我在quiton打擊中發現的。 –