C# WINForm 如何关闭系统进程,调用cmd并执行命令(隐藏CMD窗口) - 赤色火焰 - 京华志

 
今天翻到了以前很早很早之前写过的用来学习C#的一个小程序,里面有关闭进程的一个小例子,使用了两种方法,一种是调用cmd执行强制关闭命令,另一种是通过C#提供的方法进行关闭,后面提供下载了。。

先说第一种
string  ProcessName = " explorer " ; // 这里换成你需要删除的进程名称
                Process[] MyProcess1 = Process.GetProcessesByName(ProcessName);
                Process MyProcess
= new  Process();
                
// 设定程序名
                MyProcess.StartInfo.FileName = " cmd.exe " ;
                
// 关闭Shell的使用
                MyProcess.StartInfo.UseShellExecute = false ;
                
// 重定向标准输入
                MyProcess.StartInfo.RedirectStandardInput = true ;
                
// 重定向标准输出
                MyProcess.StartInfo.RedirectStandardOutput = true ;
                
// 重定向错误输出
                MyProcess.StartInfo.RedirectStandardError = true ;
                
// 设置不显示窗口
                MyProcess.StartInfo.CreateNoWindow = true ;
                
// 执行强制结束命令
                MyProcess.Start();
                MyProcess.StandardInput.WriteLine(
" ntsd -c q -p  " + (MyProcess1[ 0 ].Id).ToString()); // 直接结束进程ID
                MyProcess.StandardInput.WriteLine( " Exit " );


第二种,通过强大的进程类进行标准关闭。
string  ProcessName = " explorer " ; // 换成想要结束的进程名字
                    Process[] MyProcess = Process.GetProcessesByName(ProcessName);
                    MyProcess[
0 ].Kill();

下载地址:(很早之前学习C#时写的,方法很笨,不要笑话哦。)
http://files.cnblogs.com/mgod/WindowsINI.rar
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在WinForm执行CMD命令的方法有很多种,以下是一种常用的方法: 首先,需要在项目中添加System.Diagnostics命名空间。 然后,可以使用Process类来执行CMD命令。可以通过创建一个Process对象,设置其StartInfo属性来指定CMD进程的相关信息,例如要执行命令、工作目录等。 接下来,可以调用Process对象的Start()方法来启动CMD进程,并执行命令。可以通过Process对象的StandardOutput属性来获取CMD命令的输出结果。 最后,可以使用Process对象的WaitForExit()方法等待CMD命令执行完成,并获取执行结果。 以下是一个简单的示例代码: ```csharp using System.Diagnostics; namespace WinFormCMDTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnExecute_Click(object sender, EventArgs e) { string command = txtCommand.Text; // 获取用户输入的CMD命令 ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "cmd.exe"; // 指定要执行命令行程序 psi.UseShellExecute = false; // 不使用操作系统shell启动进程 psi.RedirectStandardInput = true; // 重定向输入流 psi.RedirectStandardOutput = true; // 重定向输出流 psi.CreateNoWindow = true; // 不创建新窗口 Process process = new Process(); process.StartInfo = psi; process.Start(); // 启动CMD进程 // 向CMD进程输入命令 process.StandardInput.WriteLine(command); process.StandardInput.WriteLine("exit"); // 获取CMD命令的输出结果 string result = process.StandardOutput.ReadToEnd(); process.WaitForExit(); // 等待CMD命令执行完成 txtOutput.Text = result; // 将CMD命令的输出结果显示在WinForm中 } } } ``` 以上代码是一个简单的WinForm应用程序,包含一个Button和两个TextBox控件,用户可以在TextBox中输入CMD命令并点击Button执行执行结果将显示在另一个TextBox中。 这只是其中一种方法,还可以根据具体需求使用不同的方式来执行CMD命令。 ### 回答2: 在Winform执行cmd命令可以使用Process类来实现。具体步骤如下: 1. 首先,在Winform项目中添加一个Button按钮,用于触发执行cmd命令的事件。 2. 在按钮的Click事件中编写代码,使用Process类来执行cmd命令。 ``` private void btnExecute_Click(object sender, EventArgs e) { // 创建一个ProcessStartInfo对象,用于设置要执行cmd命令相关的参数 ProcessStartInfo processStartInfo = new ProcessStartInfo(); processStartInfo.FileName = "cmd.exe"; // 设置要执行命令cmd.exe processStartInfo.Arguments = "/C your_cmd_command"; // 设置要执行的具体命令及参数,如执行ipconfig命令可以写成 "ipconfig /all" // 设置启动时不显示窗口 processStartInfo.UseShellExecute = false; processStartInfo.RedirectStandardOutput = true; processStartInfo.CreateNoWindow = true; // 创建一个Process对象,并设置StartInfo属性为之前创建的ProcessStartInfo对象 Process process = new Process(); process.StartInfo = processStartInfo; // 开始执行cmd命令 process.Start(); // 获取命令执行的输出结果 string output = process.StandardOutput.ReadToEnd(); // 关闭cmd窗口 process.WaitForExit(); process.Close(); // 将命令执行的输出结果显示在Winform界面的文本框中 txtOutput.Text = output; } ``` 3. 在代码中的`your_cmd_command`处填入要执行的具体cmd命令,如上例中的ipconfig命令。 4. 最后,在Winform界面上添加一个用于显示cmd命令执行结果的文本框(txtOutput)。 通过以上步骤,点击按钮后,Winform界面将会执行指定的cmd命令,并将命令执行结果显示在文本框中。 ### 回答3: 在WinForms中执行CMD命令可以使用`System.Diagnostics.Process`类来实现。以下是一个简单的示例: 首先,在WinForms应用程序的窗体上添加一个`Button`按钮,然后在点击按钮的事件处理程序中添加以下代码: ```csharp private void button1_Click(object sender, EventArgs e) { string command = "dir"; // 命令 string arguments = "/B"; // 命令参数 // 创建一个ProcessStartInfo对象,用于设置要启动的进程的相关属性 ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "cmd.exe"; // 运行cmd.exe psi.RedirectStandardInput = true; psi.RedirectStandardOutput = true; psi.UseShellExecute = false; psi.CreateNoWindow = true; // 启动进程 Process p = new Process(); p.StartInfo = psi; p.Start(); // 向CMD窗口输入命令 p.StandardInput.WriteLine(command + " " + arguments); p.StandardInput.WriteLine("exit"); // 读取CMD窗口输出结果 string output = p.StandardOutput.ReadToEnd(); // 关闭进程 p.WaitForExit(); p.Close(); // 将结果显示在MessageBox中 MessageBox.Show(output); } ``` 以上代码中,我们首先设置要执行命令和参数,然后创建一个`ProcessStartInfo`对象来指定要启动的进程和相关属性。接下来,我们创建一个Process对象,并将ProcessStartInfo对象赋给它,然后启动进程。然后,我们将命令和参数写入CMD窗口的标准输入,并读取CMD窗口的标准输出。最后,关闭进程并将输出结果显示在MessageBox中。 注意:在使用`Process`执行CMD命令时,请小心输入的命令,确保其安全性和合法性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值