0

「MyTestService」という名前の Windows サービスを取得するには、Win32_Service オブジェクトのインスタンスを作成し、「MyTestService」サービスを見つけながらすべてのケースを調べます。これが最適な方法ではないことは明らかです。すべてのサービスをループせずに 1 つのサービスだけを取得する方法を知っている人はいますか?

    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 に答える