frombegintoend 原文 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(); } } }
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();
}
}
}