خطوات التطبيق العملي :
أولاً ، نقوم بعمل مشروع جديد ، و من ثم نقوم باختيار خدمة ويندوز (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 مرة أخرى .
أخيراً ، إخوتي و أخواتي الأكارم ،أتمنى أن أكون قد وفقت في طرح هذا الموضوع ، و أن أكون قد شرحته بشكل مبسط و مفيد للجميع .