Windows 是否有方法检测和响应/停止流程启动?

Windows 是否有方法检测和响应/停止流程启动?,windows,Windows,我希望有一个程序,只在后台运行,在Windows中检测某个进程何时启动,并希望阻止它启动,然后以某种方式对其作出反应。具体来说,我的同事会在任何忘记锁定机器2秒钟、喝咖啡或上厕所的人的机器上安装“epic fail”。我想对这个可执行文件的运行进行防御,也许让计算机说“不,是你失败了”。我知道某些根工具包可以做到这一点,但显然我不喜欢使用类似的东西。这并不难,你可以使用EnumProcess或Toolhelp API来获取进程,你可以编写一个服务来经常这样做,然后用TerminateProces

我希望有一个程序,只在后台运行,在Windows中检测某个进程何时启动,并希望阻止它启动,然后以某种方式对其作出反应。具体来说,我的同事会在任何忘记锁定机器2秒钟、喝咖啡或上厕所的人的机器上安装“epic fail”。我想对这个可执行文件的运行进行防御,也许让计算机说“不,是你失败了”。我知道某些根工具包可以做到这一点,但显然我不喜欢使用类似的东西。

这并不难,你可以使用EnumProcess或Toolhelp API来获取进程,你可以编写一个服务来经常这样做,然后用TerminateProcess杀死有问题的PID。

我认为你这样做是错误的。相反,只要记住按下Win+L。这是一个更好的解决方法。:-)你说得对,只是这些人是纳粹分子,他们实际上试图在你坐在办公桌前的时候这样做,刚刚转过来。不幸的是,我担心一秒钟的时间足以让正在运行的程序造成损坏。您可以将其设置为以毫秒为单位运行,但可能会以CPU负载为代价。对于更精细的粒度,我不确定,可能是一些本机/核心API调用或挂钩,例如CreateProcess/ShellExecute等。