2016-02-01 67 views
0

因此,我有一個控制檯應用程序運行命令行進程,然後關閉。對於那個過程被調用的那秒,我可以看到該過程的窗口彈出然後消失。從命令行在後臺運行程序

是否有可能之一:

  • 在後臺運行
  • 運行最小化,這樣它仍然顯示在任務欄上,但不會在屏幕上的其它進程中的其他過程。

我當前的代碼:

var proc = new Process(); 
proc.StartInfo.FileName = "cmd.exe"; 
proc.StartInfo.UseShellExecute = false; 
proc.StartInfo.CreateNoWindow = true; 
proc.StartInfo.RedirectStandardOutput = true; 
proc.StartInfo.RedirectStandardInput = true; 
proc.Start(); 

proc.StandardInput.WriteLine(@"Navigate to Correct Folder"); 
proc.StandardInput.WriteLine(@"Run Outside Program"); 
+0

但這並不意味着它會創建一個窗口? –

+0

是的,你必須將它設置爲true,以不顯示窗口 –

+0

Got ....很抱歉,我誤解了。 – mah

回答

0

添加一行:

proc.StartInfo.Arguments = " /c; 

這一個:

proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
+0

這是否工作 –

+0

嗯,加入這些代碼兩行之後它不't推出另一個進程 –

+0

@ Mr.Smithyyy哦,也許這是我的字符串是不正確的。使用這個:「/ c」而不是「/ c」。 –

0

我懷疑你實際看到的控制檯應用程序的窗口,而不是你正在啓動的過程。將輸出類型更改爲Windows應用程序。 enter image description here

Here是一個解決方案,它允許您在需要時仍然可以顯示控制檯,例如,如果出現問題並且要提醒用戶。