【发布时间】:2012-04-03 22:13:04
【问题描述】:
我正在编写代码以在指定时间后终止特定进程。我正在使用以下代码(为帖子简化):
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Name, CreationDate FROM Win32_Process WHERE Name = 'foo'");
foreach (ManagementObject process in searcher.Get())
{
process.InvokeMethod("Terminate", null);
}
问题——使用SELECT Name, CreationDate 的 WQL 语句在尝试终止时抛出异常:
"Operation is not valid due to the current state of the object."
...但是,使用SELECT * 可以工作并终止进程。这是为什么 - 结果集中是否需要特定的 WMI 列?
谢谢!
【问题讨论】: