捕获在Windows应用程序中启动其他应用程序的用户事件

Catching user event of launching other app in Windows app

本文关键字:应用程序 其他 用户 事件 启动 Windows      更新时间:2023-09-26

有没有办法捕获用户在Windows中打开某些应用程序之类的事件?

我有一个要求,如果用户打开任何应用程序,特别是Windows应用商店应用程序,那么我的应用程序应该能够捕获该事件。

我还没有开始。我只想知道这是否可能?

C#开发或JavaScript开发是否可能?

我对JavaScript更满意。

最可靠的解决方案是编写Windows服务。你可以用C#编写Windows服务,但我怀疑你能用JavaScript来做。Windows 服务(也称为驱动程序)的优点是它不作为应用程序可见,因此不太可能妨碍或停止。在系统范围内挂钩本机 API 并控制进程创建 - CodeProject 是 C++ 中的一个示例。另请参阅检测 Windows NT/2K 进程执行 - 也使用 C++ 的代码项目;显然,它使用现有的服务(驱动程序),因此您无需编写驱动程序部分。

如果不使用Windows服务,那么C#仍然是比JavaScript更好的解决方案。最简单的方法是使用 Windows Management Instrumentation (WMI)。有关在 Windows 服务之外使用 C# 的示例,请参阅 Wes 令人费解的博客 - 使用 WMI 监视 .NET 中的进程创建、删除和修改。另请参阅持续监视进程。对于 JavaScript,您需要使用永久事件使用者,如监视事件 (Windows) 中所述。有关此示例,请参阅 使用 MOF - 代码项目创建 WMI 永久事件订阅。

相关文章: