【发布时间】:2009-07-29 09:19:56
【问题描述】:
如何通知我的 .NET 应用程序即将在系统上执行应用程序?
如果我希望该应用程序执行,我该如何阻止?
【问题讨论】:
-
这不是完全重复的,因为这里有 2 个问题。
如何通知我的 .NET 应用程序即将在系统上执行应用程序?
如果我希望该应用程序执行,我该如何阻止?
【问题讨论】:
可能有几种方法可以做到这一点。对我来说,最干净的方法只有在具有 Active Directory 的环境中才有可能。你可以set group policies that control which applications can run。这种方法对您来说可能不可行,或者会带来一些管理上的麻烦。
您还可以修改RestrictRun registry key。
有很多文章展示了如何将 System.Diagnostics 命名空间用于get a list of running processes。您的 .NET 应用程序只有在它位于进程列表中时才真正知道该应用程序正在运行。您可以做一些事情来发现它何时“即将”在 .NET 之外执行。
一旦发现应用程序正在运行,您可以使用 System.Diagnostics 发送至terminate a process。
【讨论】:
Process Explorer 使用的“图像劫持”方法应该适用于此。详情见我的回答here。
【讨论】: