zoukankan      html  css  js  c++  java
  • 关闭一个进程

    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;
            }
        }
    }
  • 相关阅读:
    Java实现 LeetCode 132 分割回文串 II(二)
    Java实现 蓝桥杯 算法提高 宰羊
    Java实现 蓝桥杯 算法提高 宰羊
    Java实现 蓝桥杯 算法提高 宰羊
    Java实现 蓝桥杯 算法提高 秘密行动
    Java实现 蓝桥杯 算法提高 秘密行动
    在VC下显示JPEG、GIF格式图像的一种简便方法
    vc 基于对话框多线程编程实例——线程之间的通信
    VC/MFC 编程技巧大总结
    VC 获取指定文件夹路径的方法小结
  • 原文地址:https://www.cnblogs.com/lusunqing/p/3151199.html
Copyright © 2011-2022 走看看