众所周知,Process可以启动和关闭电脑上的进程,命名空间位于 System.Diagnostics,本次的教程就是利用其中的GetProcesses和Kill方法来实现的。
一、编码工作
首先我们创建一只Console项目(只要是C#的都可以)
为了让这篇博客短一点,我把代码精简了下
接下来我们需要用到foreach来一个个循环出电脑里的进程.
foreach (var p in Process.GetProcesses())
为了避免中途把自己杀掉,则需要跳过自己,使用其ProcessName属性则可以(SystemKill可以自行更改)
if (p.ProcessName != "SystemKill")
有些进程杀不掉所以需要给他套上一个try catch后再使用Kill方法,像这样
foreach (var p in Process.GetProcesses()){ try{ if (p.ProcessName != "SystemKill") p.Kill(); }catch { } }
这样会显示出一个小方框,我们可以把项目类型改为Windows窗口应用
还有一些顽固的系统进程杀不掉,这里就需要用到最高权限了(highestAvailable)
更改位于app.manifest文件下的requestedExecutionLevel项
若没有此文件可到项目属性里>安全性>启用ClickOnce,等待出现该文件后再关闭掉ClickOnce.
二、编译测试
视频:https://gitee.com/TwilightLemon/Updata/raw/master/cc.mp4
心疼电脑1毫秒
最后,附上源代码一只https://github.com/TwilightLemon/SystemKill
希望大家多多关注我哦!