您的位置:首页 > 其它

简单的进程操作实例

2010-10-07 16:27 183 查看
代码:

using System;
using System.Diagnostics;
using System.Collections;
using System.Windows.Forms;
namespace ConsoleApplication4
{
class Program
{
/// <summary>
/// 运行cmd命令
/// </summary>
/// <param name="cmd">命令</param>
/// <returns></returns>
public static string Cmd(string[] cmd)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.AutoFlush = true;
for (int i = 0; i < cmd.Length; i++)
{
p.StandardInput.WriteLine(cmd[i]);
}
p.StandardInput.WriteLine("exit");
string result = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
return result;
}
/// <summary>
/// 关闭进程
/// </summary>
/// <param name="ProcName">进程名称</param>
/// <returns></returns>
public static bool CloseProcess(string ProcName)
{
bool result = false;
ArrayList pList = new ArrayList();
string tempName = "";
int begpos;
int endpos;
foreach (Process p in Process.GetProcesses())
{
tempName = p.ToString();
begpos = tempName.IndexOf("(") + 1;
endpos = tempName.IndexOf(")");
tempName = tempName.Substring(begpos, endpos - begpos);
pList.Add(tempName);
if (tempName == ProcName)
{
if (!p.CloseMainWindow())
{
//当发送关闭窗口命令无效时强行结束进程
p.Kill();
}
result = true;
}
}
return result;
}
static void Main(string[] args)
{
string[] cmd = new string[] { "ping 192.168.1.1", "ipconfig" };
MessageBox.Show(Cmd(cmd));
CloseProcess("cmd.exe");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: