0

为了获得名为“MyTestService”的 Windows 服务,我创建了一个 Win32_Service 对象的实例,然后在找到“MyTestService”服务的同时遍历所有案例。很明显,这不是最佳方式。有人知道如何在不循环所有服务的情况下获得一项服务吗?

    var e = new Enumerator(GetObject("winmgmts:").InstancesOf("Win32_Service"));
    for(;!e.atEnd(); e.moveNext()){
        var service = e.item();
        var serviceName = service.Name;
        if(serviceName == "MyTestService"){
            // do something with MyTestService
            return;
        }
    }
4

1 回答 1

1

试试这个:

GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_Service WHERE Name='MyTestService'")
于 2012-06-16T13:29:14.573 回答