偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C#管道技術(shù)學(xué)習(xí)經(jīng)驗(yàn)

開(kāi)發(fā) 后端
這里介紹C#管道技術(shù)一般采用Window API來(lái)實(shí)現(xiàn),最近我試著用C#管道技術(shù),發(fā)現(xiàn)C#本身方便的進(jìn)程線程機(jī)制使工作變得簡(jiǎn)單至極。

C#管道技術(shù)一般采用Window API來(lái)實(shí)現(xiàn),最近我試著用C#管道技術(shù),發(fā)現(xiàn)C#本身方便的進(jìn)程線程機(jī)制使工作變得簡(jiǎn)單至極,隨手記錄一下,推薦給大家。

首先,我們可以通過(guò)設(shè)置Process類(lèi),獲取輸出接口,代碼如下:

  1. Process proc = new Process();  
  2. proc .StartInfo.FileName = strScript;  
  3. proc .StartInfo.WorkingDirectory = strDirectory;  
  4. proc .StartInfo.CreateNoWindow = true;  
  5. proc .StartInfo.UseShellExecute = false;  
  6. proc .StartInfo.RedirectStandardOutput = true;  
  7. proc .Start();  

然后設(shè)置線程連續(xù)讀取輸出的字符串:

  1. eventOutput = new AutoResetEvent(false);  
  2. AutoResetEvent[] events = new AutoResetEvent[1];  
  3. events[0] = m_eventOutput;  
  4.  
  5. m_threadOutput = new Thread( new ThreadStart( DisplayOutput ) );  
  6. m_threadOutput.Start();  
  7. WaitHandle.WaitAll( events );  

線程函數(shù)如下:

  1. private void DisplayOutput()  
  2. {  
  3.  while ( m_procScript != null && !m_procScript.HasExited )  
  4.  {  
  5.   string strLine = null;  
  6.   while ( ( strLine = m_procScript.StandardOutput.ReadLine() ) != null)  
  7.   {  
  8.    m_txtOutput.AppendText( strLine + "\r\n" );  
  9.    m_txtOutputm_txtOutput.SelectionStart = m_txtOutput.Text.Length;  
  10.    m_txtOutput.ScrollToCaret();  
  11.   }  
  12.   Thread.Sleep( 100 );  
  13.  }  
  14.  m_eventOutput.Set();  

這里要注意的是,使用以下語(yǔ)句使TextBox顯示的總是***添加的,而AppendText而不使用+=,是因?yàn)?=會(huì)造成整個(gè)TextBox的回顯使得整個(gè)顯示區(qū)域閃爍

  1. m_txtOutput.AppendText( strLine + "\r\n" );  
  2. m_txtOutput.SelectionStart = m_txtOutput.Text.Length;  
  3. m_txtOutput.ScrollToCaret();  

為了不阻塞主線程,可以將整個(gè)過(guò)程放到一個(gè)另一個(gè)線程里就可以了,以上介紹C#管道技術(shù)

【編輯推薦】

  1. C#參數(shù)類(lèi)型學(xué)習(xí)筆記
  2. 處理C#消息的方法
  3. C#重載LoadPostData方法
  4. 概述C#復(fù)合控件構(gòu)建
  5. C# JavaScript函數(shù)使用
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-09-01 13:00:05

C#實(shí)現(xiàn)Windows

2009-08-13 18:13:27

C#學(xué)習(xí)經(jīng)驗(yàn)

2009-08-19 10:25:18

C#托管資源

2009-08-31 15:48:02

C# Singleto

2009-08-27 14:44:11

C# interfac

2009-08-20 15:33:03

C#跳躍語(yǔ)句

2009-08-26 17:24:49

C# Mutex對(duì)象

2009-08-25 16:14:06

C#使用ADOX

2009-08-24 17:06:37

C#字符串

2009-08-28 16:43:57

C#多線程學(xué)習(xí)

2009-08-31 16:51:11

C# Main()方法

2009-08-28 10:31:47

C#字符ASCII碼

2009-08-27 09:27:49

C#擴(kuò)展方法

2009-08-12 15:55:12

C#接口定義

2009-08-27 13:45:45

C#別名指示符

2009-08-11 14:20:41

C# .NET學(xué)習(xí)經(jīng)驗(yàn)

2009-09-04 14:30:28

C#讀取BLOB數(shù)據(jù)

2009-08-24 17:34:14

C#創(chuàng)建XML Web

2009-08-24 16:02:10

C# Windows應(yīng)

2009-08-24 15:50:23

C# 泛型C# 泛型委托
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)