Yönlendirme ayrı programda textbox çıktı konsol
Bana ayrı bir program bir görevi gerçekleştirmek için arama gerektiren Windows Form uygulaması geliştiriyorum. Program bir konsol uygulaması olduğunu ve benim programda bir TextBox için konsoldan standart çıktıya yönlendirmek istiyorum.
Sorun benim uygulama programı yürütme var, ama benim uygulama için çıkış yönlendirmek için nasıl bilmiyorum. Program çalışırken çıkış yakalamak için olayları kullanmaya ihtiyacım var.
Konsol programı uygulamam kadar durur ve metin değişiklikleri çalışan sürekli rasgele aralıklarla durdurmak için değil. Yapmaya çalıştığım sadece sonra TextBox güncelleştirmek için kullanılabilecek bir olay işleyicisi tetiklemek için konsoldan kanca çıktı.
C kullanıyorum# program kodu ve kullanılması .Gelişim için NET bir çerçeve. Orijinal uygulama değil .NET programı.
EDİT: İşte yapmak istediğim örnek kod. Benim son uygulama, Konsol değiştireceğim.TextBox update kodu ile WriteLine. Olay işleyicisi kesme noktası ayarlamak için çalıştı, ve hatta ulaşmış değil.
void Method()
{
var p = new Process();
var path = @"C:\ConsoleApp.exe";
p.StartInfo.FileName = path;
p.StartInfo.UseShellExecute = false;
p.OutputDataReceived = p_OutputDataReceived;
p.Start();
}
static void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
Console.WriteLine(">>> {0}", e.Data);
}
CEVAP
Bu benim için çalışıyor:
void RunWithRedirect(string cmdPath)
{
var proc = new Process();
proc.StartInfo.FileName = cmdPath;
// set up output redirection
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.EnableRaisingEvents = true;
proc.StartInfo.CreateNoWindow = true;
// see below for output handler
proc.ErrorDataReceived = proc_DataReceived;
proc.OutputDataReceived = proc_DataReceived;
proc.Start();
proc.BeginErrorReadLine();
proc.BeginOutputReadLine();
proc.WaitForExit();
}
void proc_DataReceived(object sender, DataReceivedEventArgs e)
{
// output will be in string e.Data
}
Nasıl bir yönlendirme dosyası çıktı ko...
Nasıl konsol üzerinde yer aynı çıktı y...
Nasıl forms uygulamasında konsol çıktı...
Nasıl Tutulma kapasitesini artırmak ko...
Yansıtma bir dosya çıktı konsol...