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

  • 2ndfloor91

    2ndfloor91

    17 Kasım 2007
  • newport83

    newport83

    19 HAZİRAN 2006
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009