C#实现进程管理的启动和停止实例

C#实现进程管理的启动和停止实例,第1张

概述本文实例讲述了C#实现进程管理的启动和停止方法。分享给大家供大家参考。具体实现方法如下:

本文实例讲述了C#实现进程管理的启动和停止方法。分享给大家供大家参考。具体实现方法如下:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.windows.Forms;using System.IO;//引用命名空间using System.Diagnostics;using System.Threading;namespace StartStopProcess{  public partial class Form1 : Form  {    int fileIndex;    string filename = "Notepad.exe";    Process process1 = new Process();    public Form1()    {      InitializeComponent();      //以详细列表方式显示      ListVIEw1.VIEw = VIEw.Details;      //参数含义:列名称,宽度(像素),水平对齐方式      ListVIEw1.Columns.Add("进程ID",70,HorizontalAlignment.left);      ListVIEw1.Columns.Add("进程名称",HorizontalAlignment.left);      ListVIEw1.Columns.Add("占用内存",HorizontalAlignment.left);      ListVIEw1.Columns.Add("启动时间",HorizontalAlignment.left);      ListVIEw1.Columns.Add("文件名",280,HorizontalAlignment.left);    }    private voID buttonStart_Click(object sender,EventArgs e)    {      string argument = Application.StartupPath + "\myfile" + fileIndex + ".txt";      if (file.Exists(argument)==false)      {        file.CreateText(argument);      }      //设置要启动的应用程序名称及参数      processstartinfo ps = new processstartinfo(filename,argument);      ps.windowstyle = Processwindowstyle.normal;      fileIndex++;      Process p = new Process();      p.StartInfo = ps;      p.Start();      //等待启动完成,否则获取进程信息可能会失败      p.WaitForinputIDle();      RefreshListVIEw();    }    private voID buttonStop_Click(object sender,EventArgs e)    {      this.Cursor = Cursors.WaitCursor;      //创建新的Process组件的数组,并将它们与指定的进程名称(Notepad)的所有进程资源相关联.      Process[] myprocesses;      myprocesses = Process.GetProcessesByname(Path.GetfilenameWithoutExtension(filename));      foreach (Process p in myprocesses)      {        //通过向进程主窗口发送关闭消息达到关闭进程的目的        p.CloseMainWindow();        //等待1000毫秒        Thread.Sleep(1000);        //释放与此组件关联的所有资源        p.Close();      }      fileIndex = 0;      RefreshListVIEw();      this.Cursor = Cursors.Default;    }    private voID RefreshListVIEw()    {      ListVIEw1.Items.Clear();      //创建Process类型的数组,并将它们与系统内所有进程相关联      Process[] processes;      processes = Process.GetProcessesByname(Path.GetfilenameWithoutExtension(filename));      foreach (Process p in processes)      {        //将每个进程的进程名称、占用的物理内存以及进程开始时间加入ListVIEw中        ListVIEwItem item = new ListVIEwItem(          new string[]{            p.ID.ToString(),p.Processname,string.Format("{0} KB",p.PrivateMemorySize64/1024.0f),string.Format("{0}",p.StartTime),p.MainModule.filename          });        ListVIEw1.Items.Add(item);      }    }    private voID buttonRefresh_Click(object sender,EventArgs e)    {      RefreshListVIEw();    }    private voID Form1_Load(object sender,EventArgs e)    {    }  }}

希望本文所述对大家的C#程序设计有所帮助。

总结

以上是内存溢出为你收集整理的C#实现进程管理的启动和停止实例全部内容,希望文章能够帮你解决C#实现进程管理的启动和停止实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1254737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存