شرط الإطلاق - تحقق مما إذا كانت الخدمة تعمل
-
30-09-2019 - |
سؤال
في VS2008 ، كيف يمكنني التحقق مما إذا كانت خدمة Windows تعمل int in inction؟
المحلول
للحصول على تفاصيل حول كيفية التحقق من أن الخدمة تعمل في ظروف الإطلاق ، انظر هذه مسلك،
سيكون الإجراء المخصص الأكثر موثوقية هو مكالمة C ++ DLL التي تم إدراجها قبل إجراء عمليات الإطلاق في كل من واجهة المستخدم وتنفيذ التسلسلات.
هناك مثال على واحد هنا:
http://support.microsoft.com/default.aspx؟scid=kb؛en-us؛253683.
يمكن أن تتحقق رمز الإجراء المخصص الخاص بك من تشغيل الخدمة وتعيين خاصية لشرطات التشغيل.
يمكنك استخدام ServiceController.getServices طريقة لسرد الخدمات التي يتم تشغيلها على الكمبيوتر المحلي.
ServiceController[] scServices;
scServices = ServiceController.GetServices();
// Display the list of services currently running on this computer.
Console.WriteLine("Services running on the local computer:");
foreach (ServiceController scTemp in scServices)
{
if (scTemp.Status == ServiceControllerStatus.Running)
{
// Write the service name and the display name
// for each running service.
Console.WriteLine();
Console.WriteLine(" Service : {0}", scTemp.ServiceName);
Console.WriteLine(" Display name: {0}", scTemp.DisplayName);
}
}
نصائح أخرى
يمكنك الاتصال بالخدمة على النحو التالي:
ServiceController sc = new ServiceController("ServiceName");
يمكنك التحقق مما إذا كانت الخدمة تعمل عن طريق التحقق من خاصية "الحالة". تقوم الحالة بإرجاع قيمة (التعداد) من نوع ServiceControllerStatus.