В настоящее время я пытаюсь запустить простую функцию CMD из моей программы C # WPF и отобразить вывод в программе WPF.Я думаю, что я близко, но в настоящее время ничего не отображается.Программа откроется и получит подтверждение, что она должна запустить файл CMD.После того, как выбрано «Да», он должен открыть новый фрейм и запустить программу, отправив ее обратно в фрейм.Ссылка на CMD - это простая команда netstat.Я изменил «CreateNoWindow» на «Ложь» и вижу открытие CMD, поэтому оно, похоже, выполняет его.
РЕДАКТИРОВАТЬ: я пропустил часть своего кода, упс!
РЕДАКТИРОВАТЬ 2:Обновлен код для включения некоторых предложений.Без изменений.Может быть, это связано с тем, как я использую фрейм?
namespace WpfApp1
{
/// <summary>
/// Interaction logic for Page3.xaml
/// </summary>
public partial class Page3 : Page
{
public Page3()
{
InitializeComponent();
}
private void Frame_Navigated(object sender, NavigationEventArgs e)
{
Task.Run(() => { Muntrainout(); });
}
public void Muntrainout()
{
System.Diagnostics.Process muntrainout = new System.Diagnostics.Process();
muntrainout.StartInfo.RedirectStandardOutput = true;
muntrainout.StartInfo.RedirectStandardError = true;
muntrainout.StartInfo.RedirectStandardInput = true;
muntrainout.StartInfo.UseShellExecute = false;
muntrainout.StartInfo.CreateNoWindow = true;
muntrainout.StartInfo.FileName = @"C:\Users\user.name\Documents\Project\Test.cmd";
muntrainout.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler((sender, e) =>
{
Console.WriteLine(e.Data);
}
);
// Error Handling
muntrainout.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler((sender, e) => { Console.WriteLine(e.Data); });
muntrainout.Start();
muntrainout.BeginOutputReadLine();
muntrainout.WaitForExit();
}
}
}