• 关闭一个进程


    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Diagnostics;
    
    namespace ConsoleApplication3
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 关闭记事本的进程
                CloseNotepad();
            }
    
            /// <summary>
            /// 关闭记事本
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public static void CloseNotepad()
            {
                on:
                string process = ProcessHelper.CheckProcessName("notepad");
                if (process != string.Empty)
                {
                    ProcessHelper.StopProcess(process);
                    System.Threading.Thread.Sleep(1000);
                    goto on;
                }
            }
        }
    
        public class ProcessHelper
        {
            /// <summary>
            /// 关闭一个进程
            /// </summary>
            /// <param name="processName">进程名</param>
            public static void StopProcess(string processName)
            {
                try
                {
                    foreach (Process thisProc in Process.GetProcessesByName(processName))
                    {
                        //if (!thisProc.CloseMainWindow())
                        //{
                            thisProc.Kill();
                        //}
                    }
                    while (true)
                    {
                        if (!CheckProcessIsExit(processName))
                        {
                            return;
                        }
                    }
                }
                catch (Exception exc)
                {
                    throw exc;
                }
            }
    
            /// <summary>
            /// 检查一个进程是否在运行中
            /// </summary>
            /// <param name="processName">进程名</param>
            /// <returns></returns>
            public static bool CheckProcessIsExit(string processName)
            {
                bool flag = false;
                try
                {
                    foreach (Process thisProc in Process.GetProcesses())
                    {
                        if (thisProc.ProcessName.Equals(processName))
                        {
                            flag = true;
                            break;
                        }
                    }
                }
                catch
                {
                    flag = true;
                }
                return flag;
            }
    
            /// <summary>
            /// 检查一个进程是否在运行中
            /// </summary>
            /// <param name="processName">进程名</param>
            /// <returns></returns>
            public static string CheckProcessName(string processName)
            {
                string flag = "";
                try
                {
                    foreach (Process thisProc in Process.GetProcesses())
                    {
                        if (thisProc.ProcessName.Equals(processName))
                        {
                            flag = thisProc.ProcessName;
                            break;
                        }
                    }
                }
                catch
                {
                    flag = "";
                }
                return flag;
            }
        }
    }
  • 相关阅读:
    b站评论爬取
    推算身份证的生日位
    mac安装mysql
    H3C V7版本的系统默认权限
    H3C IRF2的三种配置情况
    一张图看懂高通QC1.0-QC4.0快充进化之路!QC2.0跟QC3.0充电区别
    云服务器 ECS Linux 软件源自动更新工具
    透明代理、匿名代理、混淆代理、高匿代理有什么区别?
    ping正常但是ssh到linux服务器很卡的解决方法
    Python GUI编程(Tkinter) windows界面开发
  • 原文地址:https://www.cnblogs.com/lusunqing/p/3151199.html
Copyright © 2020-2023  润新知