使用Process组件访问本地进程

实现效果;

  

知识运用:

  Process组件的StartInfo属性  //获取或设置要传递给Process的Start方法的属性

  public ProcessStartInfo StartInfo {get;set;}  //属性值:要启动该进程时要使用的数据

  Start方法      //启动(或重用)此Process组件的StartInfo属性指定的进程资源

  public bool Start()    //返回bool值

  Process类的GetProcessesByName  //创建新的Process组件的数组 并将其与本机上共享指定的进程名称的所有进程资源关联

  public static Process[] GetProcessesByName(string processName)  //processName: 该进程的友好名称

  CloseMainWindow    //向进程的主窗口发送消息来关闭拥有用户界面的进程

  public bool CloseMainWindow()  

  和WaitForExit方法    //指示Process组件在指定的毫秒数内等待关联进程退出

  public bool WaitMainExit(int milliseconds)  // 毫秒为单位

实现代码:

        private void Form1_Load(object sender, EventArgs e)
        {
            process1.StartInfo.FileName = "notepad.exe";
        }

        private void btn_start_Click(object sender, EventArgs e)
        {
            process1.Start();
        }

        private void btn_close_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process[] myProcess;
            myProcess = System.Diagnostics.Process.GetProcessesByName("notepad");
            foreach (System.Diagnostics.Process pro in myProcess)
            {
                pro.CloseMainWindow();          //关闭拥有用户界面的进程
                pro.WaitForExit(300);       //在指定的时间内等待关联进程的推出
                pro.Close();            //释放与组件关联的所有资源
            }
        }
原文地址:https://www.cnblogs.com/feiyucha/p/10199729.html