注册-WMIEvent Win32_ProcessStopTrace

时间:2018-04-26 14:44:50

标签: powershell wmi

我希望Windows系统对某个.exe的启动和停止作出反应。

我设法使用

为notepad.exe执行此操作
Register-WMIEvent -Query "SELECT * FROM Win32_ProcessStartTrace WHERE ProcessName='notepad.exe'" -SourceIdentifier guiStarted -Action {
    ...
}
Register-WMIEvent -Query "SELECT * FROM Win32_ProcessStopTrace WHERE ProcessName='notepad.exe'" -SourceIdentifier guiStopped -Action {
    ...
}

但是使用我自己的.exe(使用LabVIEW构建)的名称,我只得到start事件,而不是stop事件。 (我可以在任务管理器中验证.exe是否已停止。)

此事件机制如何运作?它取决于应用程序的编程方式吗?

1 个答案:

答案 0 :(得分:0)

在停止事件中,进程名称被剪切为14个字符,而在开始事件中,全名出现。

我不明白为什么,也许有人有想法?