2011-06-28 59 views
1
過程

假設我有這樣的代碼:儘量減少每一個名爲C#Processinfo

 string strCmdText2 = @"/C connect.exe --connect 1.txt"; 
     ProcessStartInfo PSI = new ProcessStartInfo("CMD.exe", strCmdText2); 
     PSI.CreateNoWindow = true; 
     //PSI.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
     PSI.RedirectStandardInput = true; 
     PSI.RedirectStandardOutput = true; 
     PSI.RedirectStandardError = true; 
     PSI.UseShellExecute = false; 
     Process p = Process.Start(PSI); 

問題,,執行這些語句的時候,在connect.exe其窗口打開,我怎麼能隱藏它?像在後臺運行?

謝謝

+0

什麼是'connect.exe'?這是一個外部程序嗎? –

+0

yep connect.exe是一個外部程序...我希望它在從我的GUI執行時被隱藏 – Lufthansa

+0

connect.exe所做的是它只是彈出一個窗口,我想在調用時隱藏它。謝謝 – Lufthansa

回答

0

您正在重定向標準輸入。使用TextWriter將strCmdText2寫入流程。

編輯:如果上述方法無效,試試這個:

string strCmdText2 = @"--connect 1.txt"; 
    ProcessStartInfo PSI = new ProcessStartInfo("connect.exe", strCmdText2); 
    PSI.CreateNoWindow = true; 
    //PSI.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
    PSI.RedirectStandardInput = true; 
    PSI.RedirectStandardOutput = true; 
    PSI.RedirectStandardError = true; 
    PSI.UseShellExecute = false; 
    Process p = Process.Start(PSI); 
+0

好的,謝謝,但我怎麼能在被調用時隱藏connect.exe? – Lufthansa

+0

我發佈的代碼不起作用?它對我來說... –

+0

你好,我試過了,但connect.exe仍然打開它自己的窗口..我想隱藏它,所以用戶不會看到幕後動作 – Lufthansa