Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Semak Status Perkhidmatan Windows Menggunakan C#?

Bagaimanakah Saya Boleh Semak Status Perkhidmatan Windows Menggunakan C#?

Linda Hamilton
Linda Hamiltonasal
2024-12-30 21:23:16501semak imbas

How Can I Check the Status of a Windows Service Using C#?

Menyemak Status Perkhidmatan Windows Menggunakan C#

Dalam aplikasi anda, anda perlu mengesahkan sama ada Perkhidmatan Windows tertentu sedang berjalan. Untuk menyelesaikan tugasan ini, ikuti langkah berikut:

Melaksanakan Logik Pengesahan

  1. Tambahkan rujukan pada ruang nama System.ServiceProcess ke projek anda.
  2. Buat contoh bagi Kelas ServiceController, menyatakan nama perkhidmatan yang anda ingin semak (cth., ServiceController sc = new ServiceController("ServiceName");).
  3. Gunakan Status harta untuk menentukan keadaan semasa perkhidmatan.

Status Perkhidmatan Yang Mungkin

Hartanah Status boleh mengembalikan salah satu daripada nilai berikut:

  • ServiceControllerStatus.Running: Perkhidmatan ini berjalan.
  • ServiceControllerStatus.Dihentikan: Perkhidmatan dihentikan.
  • ServiceControllerStatus.Paused: Perkhidmatan sedang dijeda.
  • ServiceControllerStatus.StopPending: Perkhidmatan sedang dalam proses pemberhentian.
  • ServiceControllerStatus.StartPending: Perkhidmatan sedang dalam proses bermula.
  • ServiceControllerStatus.StatusChanging: Perkhidmatan sedang menukar statusnya.

Contoh Code

Yang berikut sampel kod menunjukkan cara menyemak status perkhidmatan dan mengembalikan yang sesuai respons:

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

Nota Tambahan

  • Untuk mengemas kini status selepas membuat sebarang perubahan pada perkhidmatan, hubungi sc.Refresh() Kaedah .
  • Sebagai alternatif, anda boleh menggunakan Kaedah sc.WaitForStatus untuk menunggu status tertentu atau tempoh tamat masa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Status Perkhidmatan Windows Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn