SORU
7 EKİM 2008, Salı


Nasıl Windows bir Hizmet çalışıyorsa doğrulayabilirim

Bir 'watchdog' bu bir Windows Hizmeti olarak uygulanır. test C bir uygulama var# (2.0 XP üzerinde çalışan gömülü) Cihaz açıldığında, bu hizmet genellikle başlamak için biraz zaman alır. Eğer hizmet çalışıyorsa, benim kodu kontrol etmek istiyorum. Bunu nasıl yapabilirim?

CEVAP
7 EKİM 2008, Salı


Bu işe yarar gibi bir şey sanırım

Sistemi Ekleyin.Projeniz için ServiceProcess başvurularını (.NET sekmesi).

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";
}

Ayrıca istenen bir durum alır sc.WaitforStatus() ve bir zaman aşımı, hiç kullanılan bir yöntem Var ama sizin ihtiyaçlarınıza uygun olabilir. Edit:

Durumu tekrar durumu olsun sc.Refresh() ilk aramak gerekir Sonra. Edit:

Referans: ServiceController nesne .NET.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Digital Bounds

    Digital Boun

    19 Temmuz 2013
  • Julian Smith

    Julian Smith

    31 EKİM 2006
  • K-391

    K-391

    23 EKİM 2012