using System;// 要用使用Process类来创建独立的进程,导入
using System.Collections.Generic;
using System.Text;
using System.Diagnostics; //诊断
namespace Cmd
{
class CmdConsole
{
[STAThread]
static void Main(string[] args)
{
Console.Write("输入要执行的命令");
string ip = Console.ReadLine();
string strRst = CmdPing(ip);
Console.WriteLine(strRst);
Console.ReadLine();
}
private static
string CmdPing(string strIp)
{
// 实例一个Process类,启动一个独立进程
Process p = new Process();
// 设定程序名
p.StartInfo.FileName = "cmd.exe";
// 关闭Shell的使用
p.StartInfo.UseShellExecute = false;
// 重定向标准输入
p.StartInfo.RedirectStandardInput = true;
// 重定向标准输出
p.StartInfo.RedirectStandardOutput = true;
//重定向错误输出
p.StartInfo.RedirectStandardError = true;
// 设置不显示窗口
p.StartInfo.CreateNoWindow = true;
// 启动进程
string pingrst;
p.Start();
p.StandardInput.WriteLine(strIp);
p.StandardInput.WriteLine("exit");
// 从输出流获取命令执行结果
string strRst = p.StandardOutput.ReadToEnd();
pingrst = strRst;
// if end
p.Close();
return pingrst;
}
}
}
有些时候运行系统命令可以很方便的达到一些特定目的。比如说,可以用c:\>powercfg /H on来启用系统休眠。c:\>netsh firewall set opmode DISABLE可以用来禁用系统防火墙。
首先,在C#中运行一个外部程序是非常简单的: System.Diagnostics.Process.Start("cmd.exe", "/K dir");
该命令会弹出一个命令行窗口并 列出当前目录中的文件。把/K改成/C可以自动关闭弹出的命令行窗口,不过黑窗口还是一闪而过,而且我们看不到运行结果。
对 于我们漂亮的WinForm窗口,跳出黑黑的DOS窗口总是非常丑陋和让人不爽的。如何既能运行系统命令,又能拿到结果,而且还不显示丑陋的命令行窗口 呢?解决方法就是Process类中StartInfo成员。StartInfo成员可以指定弹出窗口是最小化,最大化,或是隐藏窗口。更妙的是,我们可 以通过设定StartInfo.CreateNoWindow=false,让该进程没有任何关联窗口!同时,我们接管该进程的标准输入和输出。设定 StartInfo.RedirectStandardOutput为真,然后从Process.StandartOutput读取运行结果。
以下是一个逐步的示范,可以显示你机器当前的IP配置:
一、用VS2005或者C# Express建立一个Winform程序。
二、添加一个按钮和一个RichTextBox。
三、在设计界面双击添加的按钮,自动生成button1_Click事件响应代码。
四、把button1_Click代码换成以下所附代码。
五、编译并运行,大致运行结果可见所附的图片。
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process proc = new Process();
proc.StartInfo.FileName = "netsh.exe";
proc.StartInfo.Arguments = "interface ipv4 show config";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
proc.Start();
using (StreamReader reader = proc.StandardOutput)
{
string line = reader.ReadLine();
while (line != null)
{
richTextBox1.AppendText(line + " ");
Application.DoEvents();
line = reader.ReadLine();
}
}
proc.WaitForExit();
this.Cursor = Cursors.Default;
}
分享到:
相关推荐
总结来说,ASP.NET Process Model是ASP.NET应用程序在IIS上运行的核心机制,它涉及到IIS的请求处理、ISAPI扩展的使用、以及ASP.NET运行时的内部工作流程。理解这个模型对于优化ASP.NET应用程序的性能、调试问题以及...
- **查看流程图**: 通过主页 > Process Overview可查看和理解流程的设计和状态。 总之,K2.net是一款全面的工作流解决方案,它提供了一套强大的工具集,帮助企业和组织设计、部署和管理业务流程,实现自动化和效率...
VB.NET提供了一种简单的方法来访问这些信息,主要通过`System.Diagnostics.Process`类。这个类允许我们管理运行在计算机上的进程,包括获取它们的命令行参数。 首先,让我们了解一下什么是进程和命令参数。一个进程...
Process.NET Process.NET是一个工具,可根据以下链接提供的许可,与基于JämesMénétrey(又名ZenLulz)的“ MemorySharp”库进行交互。 以下是提到的作者的原始图书馆及其图书馆的官方网站。 Process.NET仅仅是...
服务器端还可调整ASP.NET Process Model,使用异步操作,并分析ORM框架生成的SQL性能。 在实际操作中,开发者需要考虑优化的时机、目标以及方法,根据业务需求和预期需求进行合理优化。参考文献如《Optimization: ...
在VB.NET中,System.Diagnostics命名空间下的Process类为我们提供了这些功能。 1. **创建进程**: 使用Process类的Start方法,可以启动一个新的进程。例如,如果我们想要打开一个网页,我们可以这样写: ```vb...
相信每个应用程序都需要一个进度条来显示数据是否加载完毕.这个例子就是用C#编写的自定义进度条控件.
Process.NET, 用于与进程交互的C# 类 ibrary Process.NET下面是提到的作者原创和图书馆图书馆的官方网站。https://github.com/ZenLulz/MemorySharp/http://binarysharp.com/Process.NET 只是我学习为
要创建这样的进程,我们首先需要了解Process类,这是.NET Framework中用于启动、控制和管理进程的主要类。位于System.Diagnostics命名空间下,Process类提供了Start()方法来启动新的进程,并可以通过...
.NET Patterns: Architecture, Design, and Process "Was both insightful and comprehensive. It's great to see these patterns presented within the context of many architectural dilemmas facing the ...
提供VB.NET编程方法, 强制Kill掉.exe .dll 进程。
首先,我们需要了解`System.Diagnostics.Process`类,它是VB.NET中用于启动、控制和与外部进程交互的类。利用这个类,我们可以执行系统命令并获取其输出。下面是一个简单的例子,展示如何在VB.NET中调用`netstat`...
若要设置进程外托管,需要在项目文件(`.csproj`)中修改`AspNetCoreHostingModel`属性为`OutOfProcess`。进程外托管的应用进程与IIS工作进程分离,由ASP.NET Core模块管理进程。 **部署项目** 在IIS中添加新网站,...
在VB.NET中,多线程编程是一个核心概念,特别是在开发高效、响应迅速的应用程序时。VB.NET通过使用公共语言运行时(Common Language Runtime,CLR)提供了对多线程的强大支持,使得开发者能够轻松地创建并发执行任务...
VB.net 单实例运行机制 VB.net 中单实例运行机制是指在同一个系统中只允许一个实例的程序运行,防止多个相同的程序实例同时运行。这种机制有多种实现方式,下面将介绍两种常见的实现方法。 方法一:通过进程名判断...
首先,`System.Diagnostics.Process`是.NET Framework提供的一个类,它允许我们与操作系统中的进程进行交互,包括启动进程、监控进程状态以及读取其标准输出和错误输出。以下是一个简单的`Process`使用示例: ```...
ASP.NET是一种基于微软.NET框架的开源web应用程序开发平台,它为开发者提供了丰富的工具和库,用于构建动态网站、Web应用程序和服务。在这个特定的场景中,我们讨论的是如何使用ASP.NET来实现一个视频合并的功能,这...
.NET 自动关机程序源代码是开发者为了实现计算机定时自动关机、重启或者执行特定任务而编写的软件。这类程序通常使用Visual Basic .NET (VB.NET) 或者C#编程语言编写,这两种语言都是.NET Framework的重要组成部分。...