.NET – Program Glue

C 的 stdio.h 有 popen/pclose 可以用,python 有 popen/popen2… ,perl 可以把程式當作檔案代號直接開啟執行,這些都可以做到程式間黏合、互動,那 .NET 要怎麼作呢?

可以用 System.Diagnostics.Process 來做到一樣的功能:

#a71d5d;">using System;
#a71d5d;">using System.Diagnostics;

#a71d5d;">public #0086b3;">module T {
    #a71d5d;">public Main (args: array[#a71d5d;">string]) : #a71d5d;">void
    {
        #0086b3;">def proc #a71d5d;">= Process ();
        #0086b3;">def proc_info #a71d5d;">= ProcessStartInfo (args[#0086b3;">0]);

        proc_info.CreateNoWindow #a71d5d;">= #0086b3;">true;
        proc_info.UseShellExecute #a71d5d;">= #0086b3;">false;
        proc_info.RedirectStandardInput #a71d5d;">= #0086b3;">true;
        proc_info.RedirectStandardOutput #a71d5d;">= #0086b3;">true;
        proc_info.RedirectStandardError #a71d5d;">= #0086b3;">true;
        proc.StartInfo #a71d5d;">= proc_info;

        proc.Start ();
        #a71d5d;">while (#0086b3;">true) {
            proc.StandardInput.WriteLine (Console.ReadLine ());
            Console.WriteLine (proc.StandardOutput.ReadLine ());
        }
    }
}

已發佈

分類:

,

作者:

標籤: