سؤال

في 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top