मुझे लगता है कि कुछ इस तरह काम करेगा:
System.ServiceProcess
अपने प्रोजेक्ट संदर्भों में जोड़ें (यह .NET टैब पर है)।
using System.ServiceProcess;
ServiceController sc = new ServiceController(SERVICENAME);
switch (sc.Status)
{
case ServiceControllerStatus.Running:
return "Running";
case ServiceControllerStatus.Stopped:
return "Stopped";
case ServiceControllerStatus.Paused:
return "Paused";
case ServiceControllerStatus.StopPending:
return "Stopping";
case ServiceControllerStatus.StartPending:
return "Starting";
default:
return "Status Changing";
}
संपादित करें: एक ऐसी विधि भी है sc.WaitforStatus()
जो एक वांछित स्थिति और एक समय सीमा लेती है, इसका उपयोग कभी नहीं किया गया लेकिन यह आपकी आवश्यकताओं के अनुरूप हो सकता है।
संपादित करें: एक बार जब आप स्थिति प्राप्त करते हैं, तो स्थिति को फिर से प्राप्त करने के लिए आपको sc.Refresh()
पहले कॉल करना होगा ।
संदर्भ: .NET में ServiceController ऑब्जेक्ट।