无需编写系统级代码,我可以检测 Windows 进程何时启动吗?

无需编写系统级代码,我可以检测 Windows 进程何时启动吗?

有没有办法通过性能监控、WMI 或其他免费工具来检测特定进程何时启动,或者更好的是,即将启动?然后,进一步捕获传递给该进程入口点函数的命令行参数。

仅仅检测进程是否在某个时间启动并且正在运行对于我的需求来说毫无意义。我让 Visual Studio 启动 Chrome 进行调试会话,我想 a) 找出 VS 是否使用 cmd.exe 启动 Chrome,或者 VS 内部的某些代码,以及 b) VS 向 Chrome 传递哪些参数以将其配置为集成调试。

或者是否有某种方法可以使用 PowerShell 对进程映像(即 .exe 文件)进行某种监视,以查看何时访问它并执行?

答案1

您很可能想要观察启动该进程的进程,而不仅仅是目标进程本身。

进程监控SysInternals 应该能够捕获这一点。

过滤 Visual Studio 进程(也可能过滤 CMD 和 Chrome),触发 VS 中的调试序列,并查看捕获的内容。

另一个选项(同样来自 SysInternals)是进程探索器,基本上是强化版的任务管理器,可捕获启动每个进程的参数。如果 VS 启动一个中介,然后打开 Chrome,并且该中介仍作为 Chrome 进程的父进程运行,则 Process Explorer 将显示传递的所有参数。

相关内容