C#杀掉程序相关进程

以word 进程为例子

  /// <summary>
        /// 杀掉所有winword.exe进程
        /// </summary>
        public void killAllProcess() // 杀掉所有winword.exe进程
        {
            System.Diagnostics.Process[] myPs;
            myPs = System.Diagnostics.Process.GetProcesses();
            foreach (System.Diagnostics.Process p in myPs)
            {
                if (p.Id != 0)
                {
                    try
                    {
                        if (p.Modules != null)
                            if (p.Modules.Count > 0)
                            {
                                System.Diagnostics.ProcessModule pm = p.Modules[0];
                                if (pm.ModuleName.ToLower() == "winword.exe" && p.MainWindowTitle == "")
                                    p.Kill();
                            }
                    }
                    catch { }
                }
            }

            //System.Diagnostics.Process[] pss = System.Diagnostics.Process.GetProcessesByName("WINWORD.EXE", "ZY-PC");
            //foreach (System.Diagnostics.Process p in myPs)
            //{
            //    if (p.Id != 0)
            //    {
            //        string myS = "WINWORD.EXE" + p.ProcessName + " ID:" + p.Id.ToString();
            //        try
            //        {
            //            if (p.Modules != null)
            //                if (p.Modules.Count > 0)
            //                {
            //                    System.Diagnostics.ProcessModule pm = p.Modules[0];
            //                    myS += "\n Modules[0].FileName:" + pm.FileName;
            //                    myS += "\n Modules[0].ModuleName:" + pm.ModuleName;
            //                    myS += "\n Modules[0].FileVersionInfo:\n" + pm.FileVersionInfo.ToString();
            //                    if (pm.ModuleName.ToLower() == "winword.exe")
            //                        p.Kill();
            //                }
            //        }
            //        catch
            //        { }
            //        finally
            //        {
            //        }
            //    }
            //}
        }

利用到了process.MainWindowTitle属性,
如果在winform里面打开的word这个属性值是个空字符串。谢谢各位,结贴给分了。

作者:邹毅
如果觉得本文让你有所收获,请键点击右下角的 推荐 按钮
本文版权归作者和博客园共有,欢迎转载,但必须保留原文连接。

原文地址:https://www.cnblogs.com/joey0210/p/2172746.html