我可以从c或C++程序访问任务管理器中的进程,如explorer.exe
吗?在windows下杀死所有未列入白名单的进程
我正在编写一个程序来结束那些流畅运行计算机所不需要的进程。所有必要过程的列表都保存在文本文件中。我的程序需要检查这个列表中的进程,并与任务管理器的进程进行比较 - 如果进程不存在于文本文件中,那么该进程应该结束。
我可以从c或C++程序访问任务管理器中的进程,如explorer.exe
吗?在windows下杀死所有未列入白名单的进程
我正在编写一个程序来结束那些流畅运行计算机所不需要的进程。所有必要过程的列表都保存在文本文件中。我的程序需要检查这个列表中的进程,并与任务管理器的进程进行比较 - 如果进程不存在于文本文件中,那么该进程应该结束。
Just ShellExecute taskkill。输入taskkill /?以cmd为单位获取更多信息。 它可以通过图像名称(例如notepad.exe)和PID(例如1337)来杀死。
将它与tasklist命令结合使用。
如果您不想使用简单的批处理脚本(或PowerShell),但坚持要在C或C++中执行此操作,则应该使用管道来处理命令的输出。
糟糕的做法,恕我直言。
你不应该杀死其他基于白名单的进程。 我认为最好防止他们开始。 您可以使用sysinternals中的Autoruns来执行此操作。
系统服务怎么样?你是否只对用户会话中的进程感兴趣?
另一方面,你可以有你想杀死的进程的黑名单。
Windows为halting processes提供了清晰的API。 首先你需要enumerate all running processes。
但是,除非您有足够的理由这样做,否则不鼓励您强制停止无法启动的进程。
这很简单,也有在做的伎俩窗口两个命令:
尝试一下在cmd中的任务:
yourcommand/?
生成你想要的命令的帮助。
与你的标题有什么关系? –
抱歉,标题是针对其他问题的错误 – GhostCoder
整个操作系统的白名单似乎是一个非常糟糕的决定... – UmNyobe