第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

將控制臺輸出重定向到單獨(dú)程序中的文本框

將控制臺輸出重定向到單獨(dú)程序中的文本框

楊魅力 2019-07-15 15:38:26
將控制臺輸出重定向到單獨(dú)程序中的文本框我正在開發(fā)一個(gè)Windows窗體應(yīng)用程序,它要求我調(diào)用一個(gè)單獨(dú)的程序來執(zhí)行任務(wù)。該程序是一個(gè)控制臺應(yīng)用程序,我需要將標(biāo)準(zhǔn)輸出從控制臺重定向到我的程序中的文本框。從我的應(yīng)用程序執(zhí)行程序沒有問題,但我不知道如何將輸出重定向到我的應(yīng)用程序。當(dāng)程序使用事件運(yùn)行時(shí),我需要捕獲輸出。控制臺程序并不意味著停止運(yùn)行,直到我的應(yīng)用程序停止,并且文本在任意間隔內(nèi)不斷變化。我試圖做的是簡單地將控制臺的輸出掛鉤,以觸發(fā)一個(gè)事件處理程序,然后可以使用該處理程序來更新TextBox。我使用C#編寫程序,并使用.NET框架進(jìn)行開發(fā)。原始應(yīng)用程序不是.NET程序。編輯:下面是我想要做的事情的示例代碼。在我的最后一個(gè)應(yīng)用程序中,我將用代碼替換Console.WriteLine,以更新文本框。我試圖在事件處理程序中設(shè)置一個(gè)斷點(diǎn),但它甚至沒有到達(dá)。    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);     }
查看完整描述

3 回答

?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以使用以下代碼

        MemoryStream mem = new MemoryStream(1000);
        StreamWriter writer = new StreamWriter(mem);
        Console.SetOut(writer);

        Assembly assembly = Assembly.LoadFrom(@"C:\ConsoleApp.exe");
        assembly.EntryPoint.Invoke(null, null);
        writer.Close();

        string s = Encoding.Default.GetString(mem.ToArray());
        mem.Close();


查看完整回答
反對 回復(fù) 2019-07-15
  • 3 回答
  • 0 關(guān)注
  • 771 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號