Windows 什么过程 ;API我需要钩住跟踪服务吗?

Windows 什么过程 ;API我需要钩住跟踪服务吗?,windows,windows-services,Windows,Windows Services,我需要跟踪Windows中的服务或应用程序何时启动、停止以及是否成功退出或出现错误代码时的日志 我知道很多服务都不会记录它们自己的启动和停止时间,或者如果它们正确退出,那么似乎必须在API中插入一个钩子,当服务/应用程序请求一个进程空间并放弃它时,该钩子将捕获该进程空间 我的问题是为了实现这一点,我需要钩住什么函数,甚至可能吗?我需要它在Windows XP和7上工作,两者都是64位。Windows Vista有,但仅适用于单一服务。在早期版本中,除了轮询更改或查看事件日志之外,无法执行此操作。

我需要跟踪Windows中的服务或应用程序何时启动、停止以及是否成功退出或出现错误代码时的日志

我知道很多服务都不会记录它们自己的启动和停止时间,或者如果它们正确退出,那么似乎必须在API中插入一个钩子,当服务/应用程序请求一个进程空间并放弃它时,该钩子将捕获该进程空间


我的问题是为了实现这一点,我需要钩住什么函数,甚至可能吗?我需要它在Windows XP和7上工作,两者都是64位。

Windows Vista有,但仅适用于单一服务。在早期版本中,除了轮询更改或查看事件日志之外,无法执行此操作。

Windows Vista有,但仅适用于单个服务。在早期版本中,除了轮询更改或查看事件日志之外,这是不可能的。

我认为最好的选择是使用设备驱动程序。请参阅。

我认为最好的办法是使用设备驱动程序。请参阅。

如果要查找用户空间解决方案,EnumProcesses()将返回当前列表。但它不会向你发出改变的信号,你必须不断地对它进行调查,并根据差异采取行动


如果您正在查看特定应用程序或应用程序集,请考虑将它们分配给作业对象,这些任务都允许您对进程进行限制并在外部管理它们。我认为您甚至可以将资源管理器与作业对象关联,然后用户启动的所有任务都将自动与作业对象关联。如果您正在寻找用户空间解决方案,EnumProcesses()将返回当前列表。但它不会向你发出改变的信号,你必须不断地对它进行调查,并根据差异采取行动


如果您正在查看特定应用程序或应用程序集,请考虑将它们分配给作业对象,这些任务都允许您对进程进行限制并在外部管理它们。我认为您甚至可以将资源管理器与作业对象关联,然后用户启动的所有任务都将自动与作业对象关联。这可能是一个需要研究的问题。

这可能是在stackoverflow中,而不是在superuser中,因为这是一个编程问题。这可能是在stackoverflow中,而不是在superuser中,因为这是一个编程问题。