Visual Studio 2010 の C# アプリケーションで実行しようとしておりavrdude
、その出力をRichTextox.
void proc_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
if (e.Data != null)
{
string newLine = e.Data.Trim() + Environment.NewLine;
MethodInvoker append = () => txtOutput.Text += newLine;
txtOutput.BeginInvoke(append);
}
}
private void btnAVRDUSR_Click(object sender, EventArgs e)
{
string command = "/c avrdude";
ProcessStartInfo procStartInfo = new ProcessStartInfo("CMD", command);
Process proc = new Process();
proc.StartInfo = procStartInfo;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
procStartInfo.CreateNoWindow = true;
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
proc.OutputDataReceived += new DataReceivedEventHandler(proc_OutputDataReceived);
proc.Start();
proc.BeginOutputReadLine();
procStartInfo.CreateNoWindow = true;
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
}
これ、コードは に何も表示されませんRichTextBox
。ここで、pin コマンドを使用することにしました。だから、私はこの行を置き換えます
string command = "/c avrdude ";
これで
string command = "/c ping 192.168.1.1";
今回は私のコードがうまくいきます。では、なぜ myavrdude
がこのコードで機能しないのか教えてください。