منتديات عشاق السيد حسن نصر الله

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
منتديات عشاق السيد حسن نصر الله


    برمجة قائمة بدء التشغيل

    سورية الأسد
    سورية الأسد
    عضو خبير
    عضو خبير


    ذكر
    عدد الرسائل : 219
    العمر : 32
    مزاجي : برمجة قائمة بدء التشغيل Pi-ca-20
    المهنة : برمجة قائمة بدء التشغيل Studen10
    الهواية : برمجة قائمة بدء التشغيل Chess10
    نقاط : 51637
    تاريخ التسجيل : 02/06/2010

    بطاقة الشخصية
    رقم العضوية:

    برمجة قائمة بدء التشغيل Empty برمجة قائمة بدء التشغيل

    مُساهمة من طرف سورية الأسد الأربعاء يونيو 09, 2010 7:14 am





    برمجة قائمة بدء التشغيل
    يعتبر البرنامج الخدمي "الأداة المساعدة لتكوين النظام" (System Configuration Utility)، إضافة مفيدة، قريبة المنال على نظام التشغيل ويندوز 98، يمكن تشغيلها من "ابدأ/البرامج/البرامج الملحقة/أدوات النظام/معلومات النظام". ويتم الوصول إلى إحدى وظائفها الأكثر فائدة عبر لسان التبويب "بدء التشغيل" (Start-Up)، الذي يوفر واجهة مريحة لاختيار البرامج التي ترغب بتشغيلها خلال مرحلة بدء تشغيل النظام، بما فيها البرامج التي يطلب تشغيلها من سجل النظام (registry). لكن، إذا كنت تريد استخدام تلك الواجهة لمنع تشغيل البرامج الموجودة في دليل بدء التشغيل فقط، فإن تلك الواجهة ستكون متعبة نسبياً، إذ يجب إلغاء كل إشارة من المربعات الصغيرة التي توجد بجانب مداخل برامج مجلد بدء التشغيل، مع الانتباه إلى عدم إزالة أية إشارات للبرامج التي يتم تشغيلها من سجل النظام.
    يمكن بالطبع، استخدام الطريقة القديمة لكبت تشغيل برامج بدء التشغيل بضغط مفتاح Shift أثناء إقلاع النظام، لكن يحدث غالباً أن تضغطه متأخراً، أو سريعاً، أو تضغط المفتاح Ctrl بالخطأ بدلاً منه.
    الحل الذي وجدته للتخلص من تلك المشكلات، هو كتابة نص برمجي (Script)، لبرنامج Windows Scripting Host(WSH)، يسمح بإيقاف أو تشغيل برامج بدء التشغيل بنقرتي ماوس. استخدمت في كتابة النص البرمجي لغة VBScript، وهو يفحص وجود ملف واحد على الأقل، في مجلد بدء التشغيل على جهازي. وفي حال كانت النتيجة إيجابية، فإنه يسأل إذا كنت أريد أن أوقف عمل مجلد بدء التشغيل. فإذا نقرت الزر Yes، فإن البرنامج ينقل جميع الملفات الموجودة في مجلد بدء التشغيل إلى مجلد حافظ مؤقت موجود على الدليل الرئيسي للقرص الصلب. أما إذا لم يجد البرنامج أية ملفات في مجلد بدء التشغيل، فإنه يفترض أنها موجودة في المجلد الحافظ، ويسأل إذا كنت أريد أن أفعّل مجلد بدء التشغيل مرة أخرى، بإعادة تلك الملفات إليه.
    تعقيب
    ذكرنا في أعداد سابقة أن النصوص البرمجية لبرنامج WSH، والتي تكتب بلغة VBScript أو JavaScript، هي المكافئ الحديث لملفات الباتش في نظام التشغيل دوس. فإذا كنت ممن كتبوا ملفات باتش أيام نظام التشغيل دوس، لتبسيط عملك، أو أتمتة العمليات المتكررة، فإننا ننصحك بتعلم كتابة النصوص البرمجية لبرنامج WHS. ولنساعدك على تحقيق هذا الهدف، سنشرح بشيء من التفصيل النص البرمجي الذي قدمه القارئ، والمبين في الشكل 2. لاحظ أولاً، أن هذا النص البرمجي يستخدم برامج فرعية تجعله سهل التتبع. وكان القارئ قد افترض أصلاً أن موقع مجلد بدء التشغيل ثابت بالشكل التالي: C:WindowsStart MenuProgramsStartUp. لكن هذا الافتراض ليس آمناً بالنسبة لجميع الأنظمة. فليس ضرورياً أن يكون موقع مجلد ويندوز هو C:Windows دائماً، وحتى عندما يكون كذلك، فإن تمكين تعدد المستخدمين في النظام، يجعل الموقع الحقيقي لمجلد بدء التشغيل من قبيل الشكل التالي: C:WindowsProfilesNeilStart MenuProgramsStartUp. عدلنا لهذا، النص البرمجي، بحيث يستخدم طريقة الكائن shell، المسماة SpecialFolders، للحصول على الموقع الفعلي لمجلد بدء التشغيل. يمكن استخدام هذه الطريقة لمعرفة عدد من مواقع المجلدات الخاصة الأخرى، مثل: Desktop (سطح المكتب)، وStart Menu (قائمة بدء التشغيل)، وFavorite، وFonts، وRecent.
    يأخذ المتغير SU قيمة ابتدائية هي موقع مجلد بدء التشغيل (Startup)، ثم ينشئ البرنامج متغيراً من نوع الكائن FileSystemObject باسم FSO. لاحظ أن هذا المتغير يستخدم في العديد من البرامج الفرعية ضمن النص البرمجي، لأن متغيرات لغة VBScript تكون معرفة ضمن كامل البرنامج. إذا كان مجلد بدء التشغيل فارغاً، والمجلد المؤقت الذي نحتفظ بالملفات غير فارغ، فإن البرنامج يستدعي البرنامج الفرعي Activate. أما إذا كان كلاهما فارغاً، فلا يحدث شيء، ويظهر البرنامج رسالة تبلغ عن هذه الحالة، باستخدام الدالة MsgBox في لغة VBScript (لاحظ أن التعليمة MsgBox تنقسم على عدة سطور ويعني الرمز _ في نهاية كل سطر، أن ما يلي هو متابعة للسطر ذاته). وإذا كان مجلد بدء التشغيل غير فارغ، فإن البرنامج يستدعي البرنامج الفرعي Deactivate.
    يمكن معرفة أن المجلد فارغ أو غير فارغ، بواسطة البرنامج الفرعي المسمى FolderSize، والذي يعيد عدد البايتات التي تشغلها محتويات ذلك المجلد. فإذا أعاد FolderSize قيمة الصفر، فهذا يعني أن المجلد فارغ، أو غير موجود. ينفذ السطر الأول في البرنامج الفرعي FolderSize، الطريقة FolderExists لمتغير من نوع FileSystemObject، لمعرفة إذا كان المجلد موجوداً. وإذا كانت النتيجة إيجابية (True)، يستدعي البرنامج الفرعي الطريقة GetFolder للمتغير FSO، من النوع FileSystemObject، لإنشاء كائن من نوع Folder مقترن بذلك المجلد. وتمثل الخاصة size للمتغير من نوع الكائن Folder حجم جميع الملفات والمجلدات داخل المجلد المقترن به.
    يستخدم البرنامج الفرعي Activate، الدالة MsgBox، لسؤال المستخدم إذا كان يريد أن يفعّل قائمة بدء التشغيل. وإذا أجاب بالموافقة، فإنه يستدعي البرنامج الفرعي Relocate، لنقل جميع الملفات من المجلد الحافظ إلى مجلد بدء التشغيل. ويسأل البرنامج الفرعي Deactivate المستخدم أيضاً، إذا كان يريد أن يوقف عمل البرامج في مجلد بدء التشغيل، وينشئ المجلد الحافظ عند الضرورة، قبل أن يستدعي البرنامج الفرعي Relocate، لنقل جميع الملفات من مجلد بدء التشغيل إلى المجلد الحافظ. ينشئ البرنامج الفرعي Relocate متغيراً من نوع الكائن Folder، مقترناً بالمجلد المصدر، ويحفظ في المتغير TheFiles مجموعة (collection) Files التي تعود للكائن AFolder من نوع Folder. وتحتوي هذه المجموعة على الكائنات Files، المقترنة بكل ملف في المجلد المعني. يدور البرنامج بعد ذلك، في حلقة عبر جميع العناصر المجموعة، وينسخ كل منها إلى المجلد الهدف، ثم يحذف الأصل، وذلك باستخدام التعليمة For Each …Next، والتي تكرر التعليمات من أجل كل عنصر في المجموعة أو المصفوفة (array). ويوفر نوع الكائنات FileSystemObject والمجموعة Files، ونوع الكائنات Folder، وFile، مجموعة كاملة من الخدمات لكتابة النصوص البرمجية التي تتطلب معرفة ومعالجة الملفات والمجلدات. ولكي تحصل على معلومات إضافية عن لغة VBScript وبرنامج Windows Scripting Host يمكن أن تزور موقع مايكروسوفت في إنترنت على العنوان: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

      مواضيع مماثلة

      -

      الوقت/التاريخ الآن هو الإثنين مايو 20, 2024 2:26 am