2015-06-08 47 views
-3
 Process proc = new Process(); 
     proc.StartInfo.FileName = @"C:\Users\Administrator\Desktop\Python27\ToolArtworkEmoji.bat"; 
     proc.StartInfo.UseShellExecute = false; 
     proc.StartInfo.RedirectStandardOutput = true; 
     proc.Start(); 
     proc.OutputDataReceived += proc_OutputDataReceived; 
     proc.BeginOutputReadLine(); 
     proc.WaitForExit(); 
     textbox1.Text = proc.StandardOutput.ReadToEnd(); 

爲什麼代碼沒有激活。它不顯示文本框中的命令。 我可以幫我嗎? 非常感謝您輸出命令行(.Bat FILE)用c顯示在文本框中#

+2

_not active_是什麼意思?文本框在哪裏?這個'.bat'文件是什麼? –

+0

如果您打電話給.exe,這是否工作? – Marged

+0

我想運行.bat文件。你可以幫我跑嗎? –

回答

0

您需要閱讀你的proc_OutputDataReceived處理器的輸出,而不是通過proc.StandardOutput.ReadToEnd();

換句話說,放像

textbox1.BeginInvoke(new Action(()=>{textbox1.Text=e.Data;})); 

proc_OutputDataReceived處理器(e是一個DataReceivedEventArgs參數)

0
  private void button1_Click_1(object sender, EventArgs e) 
    { 
     Process proc = new Process(); 
     proc.StartInfo.FileName = @"C:\Users\Administrator\Desktop\Python27\ToolArtworkEmoji.bat"; 
     proc.StartInfo.UseShellExecute = false; 
     proc.StartInfo.RedirectStandardOutput = true; 
     proc.Start(); 
     proc.OutputDataReceived += proc_OutputDataReceived; 
     proc.BeginOutputReadLine(); 
     proc.WaitForExit(); 
    { 

    private void proc_OutputDataReceived(object sender, DataReceivedEventArgs e) 
    { 
     tblog.BeginInvoke(new Action(() => { tblog.Text = e.Data; })); 
    } 

E已編輯。它不活躍。文本框不顯示任何內容。

相關問題