C#获得系统打开的端口和状态

实际是通过c#编程方式调用了CMD命令行,然后调用netstat命令,然后将CMD命令的输出流转到了C#控制台程序上。也可以将结果输出到文件。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace _19获得系统打开的端口和状态
{
    class Program
    {
        static void Main(string[] args)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";//设置启动的应用程序
            p.StartInfo.UseShellExecute = false;//禁止使用操作系统外壳程序启动进程
            p.StartInfo.RedirectStandardInput = true;//应用程序的输入从流中读取
            p.StartInfo.RedirectStandardOutput = true;//应用程序的输出写入流中
            p.StartInfo.RedirectStandardError = true;//将错误信息写入流
            p.StartInfo.CreateNoWindow = true;//是否在新窗口中启动进程
            p.Start();
            //p.StandardInput.WriteLine(@"netstat -a -n>c:\port.txt");//将字符串写入文本流
            p.StandardInput.WriteLine(@"netstat -a -n");
            string str;
            while ((str = p.StandardOutput.ReadLine()) != null) 
            {
                Console.WriteLine(str);
            }

            Console.ReadKey();
        }
    }
}



 

posted @ 2013-07-02 21:31  liqipeng  阅读(460)  评论(0编辑  收藏  举报