gpt4 book ai didi

c# - 我如何知道何时创建进程并阻止它在 Windows 中执行或终止?

转载 作者:可可西里 更新时间:2023-11-01 11:12:59 27 4
gpt4 key购买 nike

我正在尝试创建一个应用程序,它根据白名单检查所有正在运行的进程,任何不在列表中的进程都会被终止。
我的想法是首先尝试使用 tasklikst 命令并获取列表,让我们说每一秒并对照列表检查它。
然后我认为最好更快地检查,当一个进程被创建但尚未执行时,我们会根据我们的列表检查它,然后如果不在列表中则终止它。那我该怎么做呢?
您建议采用哪种方式来解决这个问题?
我也怀疑用哪种语言来做,C++ 还是 C#?在这种情况下会有什么不同吗?

最佳答案

C# 中最简单的方法是定期使用 Process.GetProcesses,然后使用 Process.Kill 杀死任何你想杀死的。但是,请注意,当您终止该进程时,该进程可能正在执行某些工作 - 它只会帮助您抵御游戏(等),而不是抵御恶意软件。另外,不要忘记用户可以将 exe 文件重命名为类似“notepad.exe”的名称。如果这是一个问题,您可以检查可执行文件的完整路径,而不仅仅是文件名。

如果您想要一种更智能的方式,无需轮询,您可以在启动进程调用上创建一个 Hook - 参见 Monitor process start in the system .这样,您实际上可以从一开始就阻止进程运行。

关于c# - 我如何知道何时创建进程并阻止它在 Windows 中执行或终止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20192938/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com