خطوات التطبيق العملي :
أولاً ، نقوم بعمل
مشروع جديد ، و من ثم نقوم باختيار خدمة ويندوز (Windows Service) كنوع المشروع ،
و سأقوم بتسمية المشروع (ABSBAService) كما هو موضح في الصورة التالية :
و بعد ذلك يظهر لنا
المشروع كما هو موضح في الصورة التالية :
نستطيع بعد ذلك أن
نغير إسم الخدمة أو أي من الخيارات المتاحة كما هو موضح في الصورة التالية :
و
الآن ، نقوم بفتح شاشة الكود الخاصة بمشروعنا و نقوم بكتابة الكود الذي
نريده في ال Start Event و التي تعمل في حال بدء الخدمة و ال Shutdown Event و التي تعمل في
حال إنهاء الخدمة عن طريق عمل Shutdown
للجهاز كما هو موضح في الصورة التالية :
و الآن و بعد أن
انتهينا من إنجاز الكود المطلوب ، يجب علينا أن تنذكر بأن هذا المشروع هو
Windows Service و ليس Windows Application و لذلك فإننا لن نستطيع تشغيل
الخدمة ببساطة بالنقر المزدوج على الملف التنفيذي بعد الانتهاء من بناء
المشروع كما كنا نفعل مع تطبيقات الويندوز ،
و الحل هنا بأن نقوم
بإضافة ال Installer للخدمة و الذي من واجبه أن يقوم بعملية تنصيب الخدمة
بالنيابة عنا .
نقوم
الآن بإضافة ال Installer كما هو موضح في الصورة التالية :
نقوم الآن بتعديل
الخيارات التي نريدها كما هو موضح في الصور التالية :
بالطبع هناك العديد
من الخيارات الأخرى التي لم أقم بتعديلها مثل :
CanStop :
و التي تحدد إذا ما كان مسموحاً للمستخدم إيقاف الخدمة .
CanPauseAndContinue : و التي تحدد إذا ما كان مسموحاً للمستخدم تعليق
الخدمة و إعادة تشغيلها .
AutoLog :
و التي في حال كانت قيمتها True ، فسيقوم النظام بإظافة أي عملية تحصل على
هذه الخدمة مثل الإيقاف و التشغيل و غيرها في ال EventLog في الويندوز .
و الآن ، و بعد أن
انتهينا من تعديل الخصائص التي نريدها للأداتين ServiceProcessInstaller و
ServiceInstaller ، نقوم ببناء المشروع كما هو موضح في الصورة التالية :
طبعاً إلى الآن لم
ننته من العمل بعد ،
فالخدمة لم يتم تنصيبها و تسجيلها في
النظام لتبدء العمل .
و لتنصيب الخدمة و تسجيلها في النظام ،
نقوم بتشغيل ال Command Prompt الخاص بالفيجوال ستوديو كما هو موضح في
الصورة التالية :
نقوم الآن باستخدام
الأمر InstallUtil للقيام بعملية التنصيب الفعلية ، حيث نقوم بكنابة الأمر
InstallUtil مع مسار الملف التنفيذي كاملاً للخدمة كما هو موضح في المثال
في الصور التالية :
و بذلك نكون قد
انتهينا من عملية برمجة الخدمة و تنصيبها بالكامل .
كما نلاحظ الآن ، إذا ما توجهنا لشاشة
خدمات الويندوز فإننا نرى بأنه قد تمت إضافة خدمتنا في قائمة الخدمات كما
هو واضح في الصورة التالية :
قد يتساءل بعض
الإخوة لماذا لم تعمل الخدمة بشكل أوتوماتيكي كما هو واضح من الصورة !!
السبب في ذلك إخوتي الأفاضل بأن الخدمة
ستعمل بشكل تلقائي مع بداية تشغيل الجهاز ، و لكن إذا أردتم تشغيلها فوراً
بشكل يدوي فكل ما عليكم عمله هو أن تقوموا بالنقر بالزر الأيمن على إسم
الخدمة و من ثم اختيار الأمر Start .
و الآن إخوتي و
أخواتي الأفاضل ، وصلنا للنقطة الأخيرة ،
ألا و هي إلغاء تنصيب الخدمة من الجهاز .
في حال أردنا إلغاء
تنصيب الخدمة من الجهاز فنقوم بتشغيل ال Command Prompt الخاص بالفيجوال
ستوديو كما أوضحنا سابقاً ، و نقوم باستخدام الأمر InstallUtil و لكن هذه
المرة نقوم باستخدام الخيار U/ كما هو
موضح في الصور التالية :
ملاحظة :
·
تجنبوا استخدام أدوات الواجهة الرسومية في
الخدمات .
· في حال أردتم إجراء أي تعديلات على
الخدمة ، فيتوجب عليكم بأن تقوموا بعمل Uninstall و من ثم بعد الانتهاء من
التعديلات ، قوموا بعمل Install مرة أخرى .
أخيراً ، إخوتي و
أخواتي الأكارم ، أتمنى أن أكون قد
وفقت في طرح هذا الموضوع ، و أن أكون قد شرحته بشكل مبسط و مفيد للجميع .