2011-09-23 71 views
4

由於Win32_Service類沒有相應的WMI事件提供程序,因此必須使用WITHIN關鍵字來表示WMI輪詢機制應與輪詢間隔一起使用,並使用它來監視是否有任何服務停止將會很昂貴(CPU,參考資料)。直接檢查任何服務是否已停止的任何替代方法?

除了使用ProcessStopTrace類,

(1)中的任何跡象在註冊表中的 「停止服務」? (2)其他任何直接檢查服務是否已停止的方式?

(3)Windows中有Notify例程,它們在這裏適用嗎?

真誠

回答

3

可以使用ServiceController類,其中包括一個靜態方法來返回所有服務以及獲得個人服務細節的能力。

我不知道任何內置的機制會觸發狀態變化的事件。

+0

即使您使用的是Win32 API,也必須進行輪詢以確定服務何時停止。即使.NET類在服務停止時觸發一個事件,無論如何也會在後臺進行輪詢。 –

相關問題