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;
            }
        }
    }
  • 相关阅读:
    "INVALID" is not a valid start token
    Win+R 快速启动程序
    assert False 与 try 结合 在开发中的使用
    token的分层图如下
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError
    获取控制台的错误信息 onerror
    状态git
    icmp
    git commit前检测husky与pre-commit 提交钩子
    git diff
  • 原文地址:https://www.cnblogs.com/lusunqing/p/3151199.html
Copyright © 2011-2022 走看看