[frame="20 85"]

السلام عليكم ورحمة الله
الدرس التاسع
دورة كتابة الملفات الدفعية
إظهار مربع حوار للمستخدم عن طريق الملفات الدفعية bat files
تعليمة msg
تعطي مربعات الحوار و الرسائل التي تظهر للمستخدم مزيداً من التفاعل في برامجك
و هذه التعليمة مفيدة في هذا المجال و سنتناول بعض الأمثلة لتوضيح طرق استخدامها
(1)
النتيجة ستكون كالتالي :

بالنسبة للنجمة * تعودوا على كتابتها دوماً مع هذه التعلية
وهي تستخدم لتحديد كافة المستخدمين الذين هم قيد التشغيل في ويندوز و نضع * لكي لا نكتب أي اسم لأنه يتغير من كمبيوتر لآخر
النص الذي بعد هذه التعليمة سيظهر في النافذة
وعند الضغط على زر ok سيتابع البرنامج تنفيذ باقي الأوامر إن وجدت إو يغلق إن لم يوجد بعده أوامر
(2)
الآن سنرى المتغير time الذي يمكن استخدامه مع هذه التعليمة و يستخدم لتحديد زمن الظهور
لنكتب الكود التالي:

ستظهر الرسالة السابقة لمدة خمسة ثواني و تختفي
الزمن المستخدم بالثواني و يمكنك استبدال الرقم 5 بإي رقم
(3)
يمكن إظهار محتويات ملف نصي في مربع حوار بدلاً من كتابته كما سبق
مثلاً إذا كان لدينا ملف اسمه 1.txt على القرص c
ويحتوي على نص
عندئذ يمكن إظهار محتوياته بكتابة الكود التالي :
و ستكون النتيجة :

و أي ملف يحتوي نص نريد إظهاره بنفس الطريقة مع تغيير مساره
و كما لا حظتم في هذه الطريقة يمكن أن نكتب محتويات الملف باللغة العربية بشكل مباشر
أما في أول مثالين فنحتاج لطريقة الدرس السابق
ويمكن استخدام إظهار محتويات ملف مع استخدام المؤقت الزمني معاً
فمثلاً
إظهار مربع حوار عن طريق كتابة ملف vbs خارجي في الملفات الدفعية
قم بإنشاء ملف نصي جديد ثم قم بإعادة تسميته إلى أي أسم مع امتداد vbs هذه المرة
سيصبح الملف له الشكل التالي

اضغط بالزر اليمين على الملف و اختر تحرير "edit"
قم بكتابة الكود التالي داخل الملف
ثم احفظ و أغلق
اضغط على الملف فتجد النتيجة التالية :

وهذا رابط الملف لمن يحب تحميله و التعديل بمحتوياته
http://www.multiupload.com/2NAB5HDU4F
- نلاحظ في هذه الحالة إمكانية كتابة عنوان لصندوق الرسالة التي ظهرت و أن الشكل يأخذ من سمة الويندوز
- ويمكن تكرار الأمر في نفس الملف السابق
أي يمكن كتابة الكود عدة مرات متتالية لإظهار رسائل ممتالية
?•? استدعاء ملفات الرسائل من نوع vbs من خلال الملفات الدفعية
الأمر سهل جداً فقط نحتاح كتابة مسار الملف
فلإظهار الرسالة السابقة في برنامج ملف دفعي نكتب فقط مساره
مثلاً إن وجد الملف 1 على القرص c نكتب
و إن كان الملف بجانب الملف الدفعي ( معه في نفس المسار )
عندئذ نكتفي بكتابة اسمه
التعامل مع محرر التسجيل registry من خلال الملفات الدفعية
بالنسبة للأعضاء اللي معنا متابعين الدورة أعتقد أن محرر التسجيل معروف بالنسبة لهم
و من ليس لديهم معرفة مسبقة عنه فإن محرر التسجيل هو أداة موجودة ضمن ويندوز لإجراء بعض الإعدادات و التغييرات في نظام التشغيل
( يمكنك الرجوع لموقع مايكروسوفت لمعلومات أكثر من هنا )
? الوصول إلى محرر التسجيل :
من قائمة ابدأ start ثم تشغيل run ثم نكتب في المستطيل regedit

ويمكن تصدير هذه القيم أو استيرادها
و يوجد ملفات تحوي قيم يمكن بالضغط عليها إجراء بعض التعديلات
و لها الرمز التالي

على كل حال إن كان هناك بين المشتركين في الدورة حاجة لمزيد من المعلومات عن محرر التسجيل سأرفع لكم كتاب pdf يعتبر مرجعاً جيداً حسب رغبتكم
? الآن لندخل في الموضوع :
إذا أردنا تعطيل إدارة المهام task manager
فيتم ذلك عن طريق الدخول إلى محرر التسجيل ثم إلى المسار التالي
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System
ثم نقوم بإنشاء قيمة من نوع Dward

ونسميها DisableTaskMgr
ونضغط عليها مرتين و نكتب بداخلها الرقم 1
الدرس التاسع
دورة كتابة الملفات الدفعية
إظهار مربع حوار للمستخدم عن طريق الملفات الدفعية bat files
تعليمة msg
تعطي مربعات الحوار و الرسائل التي تظهر للمستخدم مزيداً من التفاعل في برامجك
و هذه التعليمة مفيدة في هذا المجال و سنتناول بعض الأمثلة لتوضيح طرق استخدامها
(1)
كود PHP:
msg * welcome

بالنسبة للنجمة * تعودوا على كتابتها دوماً مع هذه التعلية
وهي تستخدم لتحديد كافة المستخدمين الذين هم قيد التشغيل في ويندوز و نضع * لكي لا نكتب أي اسم لأنه يتغير من كمبيوتر لآخر
النص الذي بعد هذه التعليمة سيظهر في النافذة
وعند الضغط على زر ok سيتابع البرنامج تنفيذ باقي الأوامر إن وجدت إو يغلق إن لم يوجد بعده أوامر
(2)
الآن سنرى المتغير time الذي يمكن استخدامه مع هذه التعليمة و يستخدم لتحديد زمن الظهور
لنكتب الكود التالي:
كود PHP:
msg/time:5 * learn to make batch files with tahasoft.com

ستظهر الرسالة السابقة لمدة خمسة ثواني و تختفي
الزمن المستخدم بالثواني و يمكنك استبدال الرقم 5 بإي رقم
(3)
يمكن إظهار محتويات ملف نصي في مربع حوار بدلاً من كتابته كما سبق
مثلاً إذا كان لدينا ملف اسمه 1.txt على القرص c
ويحتوي على نص
عندئذ يمكن إظهار محتوياته بكتابة الكود التالي :
كود PHP:
msg * <c:\1.txt

و أي ملف يحتوي نص نريد إظهاره بنفس الطريقة مع تغيير مساره
و كما لا حظتم في هذه الطريقة يمكن أن نكتب محتويات الملف باللغة العربية بشكل مباشر
أما في أول مثالين فنحتاج لطريقة الدرس السابق
ويمكن استخدام إظهار محتويات ملف مع استخدام المؤقت الزمني معاً
فمثلاً
إظهار مربع حوار عن طريق كتابة ملف vbs خارجي في الملفات الدفعية
قم بإنشاء ملف نصي جديد ثم قم بإعادة تسميته إلى أي أسم مع امتداد vbs هذه المرة
سيصبح الملف له الشكل التالي

اضغط بالزر اليمين على الملف و اختر تحرير "edit"
قم بكتابة الكود التالي داخل الملف
كود PHP:
'display message
Message = " دورة كتابة الملفات الدفعية "
X = MsgBox(Message, vbOKOnly, "شبكة و منتديات طه سوفت")
اضغط على الملف فتجد النتيجة التالية :

وهذا رابط الملف لمن يحب تحميله و التعديل بمحتوياته
http://www.multiupload.com/2NAB5HDU4F
- نلاحظ في هذه الحالة إمكانية كتابة عنوان لصندوق الرسالة التي ظهرت و أن الشكل يأخذ من سمة الويندوز
- ويمكن تكرار الأمر في نفس الملف السابق
أي يمكن كتابة الكود عدة مرات متتالية لإظهار رسائل ممتالية
?•? استدعاء ملفات الرسائل من نوع vbs من خلال الملفات الدفعية
الأمر سهل جداً فقط نحتاح كتابة مسار الملف
فلإظهار الرسالة السابقة في برنامج ملف دفعي نكتب فقط مساره
مثلاً إن وجد الملف 1 على القرص c نكتب
كود PHP:
c:\1.vbs
عندئذ نكتفي بكتابة اسمه

بالنسبة للأعضاء اللي معنا متابعين الدورة أعتقد أن محرر التسجيل معروف بالنسبة لهم
و من ليس لديهم معرفة مسبقة عنه فإن محرر التسجيل هو أداة موجودة ضمن ويندوز لإجراء بعض الإعدادات و التغييرات في نظام التشغيل
( يمكنك الرجوع لموقع مايكروسوفت لمعلومات أكثر من هنا )
? الوصول إلى محرر التسجيل :
من قائمة ابدأ start ثم تشغيل run ثم نكتب في المستطيل regedit

ويمكن تصدير هذه القيم أو استيرادها
و يوجد ملفات تحوي قيم يمكن بالضغط عليها إجراء بعض التعديلات
و لها الرمز التالي

على كل حال إن كان هناك بين المشتركين في الدورة حاجة لمزيد من المعلومات عن محرر التسجيل سأرفع لكم كتاب pdf يعتبر مرجعاً جيداً حسب رغبتكم
? الآن لندخل في الموضوع :
إذا أردنا تعطيل إدارة المهام task manager
فيتم ذلك عن طريق الدخول إلى محرر التسجيل ثم إلى المسار التالي
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System
ثم نقوم بإنشاء قيمة من نوع Dward

ونسميها DisableTaskMgr
ونضغط عليها مرتين و نكتب بداخلها الرقم 1

ويمكن تصدير هذه القيمة إلى ملف خارج محرر التسجيل بالضغط على ملف file ثم تصدير export
وبذلك نحصل على ملف ريجستري خارجي
وعند الضغط عليه في أي جهاز كمبيوتر مع الموافقة يتم إدخال تلك القيم إلى محرر التسجيل
و يتم تعطيل إدارة المهام
وإذا ضغطنا بالزر اليمين على هذا الملف سنجد بداخله الكود التالي :
وبذلك نحصل على ملف ريجستري خارجي

وعند الضغط عليه في أي جهاز كمبيوتر مع الموافقة يتم إدخال تلك القيم إلى محرر التسجيل
و يتم تعطيل إدارة المهام
وإذا ضغطنا بالزر اليمين على هذا الملف سنجد بداخله الكود التالي :
كود PHP:
Windows Registry Editor Version 5.00
كود PHP:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableTaskMgr"=dword:00000001
طبعاً يمكنكم نسخ هذه المحتويات إلى ملف نصي و حفظه بأي اسم مع امتداد reg
? يمكن تفعيل إدارة المهام التي عطلناها بتغيير بيانات القيمة السابقة من 1 إلى صفر 0
حيث غالباً في محرر التسجيل يعني الرقم 1 تفعيل و الرقم 0 تعطيل
حيث غالباً في محرر التسجيل يعني الرقم 1 تفعيل و الرقم 0 تعطيل
الآن : كيف يمكنننا إدخال هذه القيم عن طريق الملفات الدفعية ؟
نستخدم التعليمة التالية
نستخدم التعليمة التالية
reg
ولهذه التعليمة عدة متغيرات سنتناول أهمها
أولاً : reg add
صيغة كتابة هذه التعليمة :
لكي تكون المعلومات واضحة سنكتب ملف reg السابق كملف bat
سيكون كود ملف دفعي لتعطيل محرر التسجيل هو التالي :
هل الأمور واضحة
لنكتب الآن ملف دفعي لتصحيح المشكلة السابقة و هي تعطيل إدارة المهام
الكود التالي لملف دفعي يقوم بتعفيل إدارة المهام task manager
ملاحظة :
نكتب اختصاراً HKCU بدلاً من HKEY_CURRENT_USER
ونكتب HKLM بدلاً من HKEY_LOCAL_MACHAINE
مثال آخر :
ليكن لدينا ملف reg الذي يحتوي ما يلي :
إن مهمته هي التحكم بسرعة القوائم في ويندوز و الرقم 400 هو الفاصل الزمني لفتح القوائم
و القيمة الافتراضية هي القيمة 400 و عند إنقاص هذه القيمة تصبح القوائم اسرع في الفتح
و أكبر سرعة هي عند القيمة 0 أي فتح القوائم بدون فاصل زمني
و الآن لنكتب ملف دفعي يقوم بإدخال هذه القيمة 0 إلى ذلك المسار
الحل :
حذف قيمة من محرر التسجيل :
REG delete
صيغة الكتابة :
و هي أسهل من السابقة
و الآن لحذف القيمة DisableTaskMgr التي تعطيل إدارة المهام
و الموجودة على المسار
HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\System
يكون كود الملف الدفعي هو التالي :
تطبيق آخر :
لحذف كافة العناصر الموجودة في المسار
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
نكتب الكود :
حيث أصبح المتغير هنا va
حيث a = all أي كل العناصر
ملاحظة هامة :
في بعض العمليات على محرر التسجيل لن تحصل على نتيحة التنفيذ إلا بعد إعادة تشغيل الكمبيوتر
ya: و الآن نأتي إلى التعليمة الفاصلة
وهي أسهل تعليمة في مجال التعامل مع الملفات الدفعية
reg import
في التعليمتين السابقتين سيكون الأمر صعباً كلما أردنا أن نتعامل مع قيمة في محرر التسجيل يجب أن نعرف مسارها و قيمتها و بياناتها و يجب أن يكون كتابة الكود دقيقاً
و أي خطأ صغير لن يعمل البرنامج
ولكن مع هذه التعليمة لن تحتاج لكل هذه التفاصيل
فقط تحتاج إلى ملف reg الذي كنا نضغط عليه مرتين لادخال القيم
وصيغة هذه التعليمة ايضا سهلة :
مثال :
ليكن لدينا ملف reg الذي يحتوي على :
ومهمة هذا الملف هي تغيير اسم المالك Owner و اسم الشركة Organization في جهازك
( يمكنك رؤية اسم المستخدم الحالي و اسم الشركة بالضغط بالزر اليمين على جهاز الكمبيوتر ثم خصائص )
عند الضغط على هذا الملف و تنفيذه سيصبح اسم الشركة www.tahasoft.com
ويصبح اسم المالك سيصبح " منتديات طه سوفت للبرامج "
و الآن سنضع هذا الملف على القرص c
أي المحتويات السابقة انسخها إلى مفكرة و سمها 1.reg وضعها على القرص C
الملف الدفعي الذي سينفذ العملية السابقة و هي تغيير اسم الشركة و اسم الماك بالاعتماد على الملف reg السابق سيكون كالتالي :
وعند الضغط على هذا الملف سيتم فوراً استيراد القيم إلى محرر التسجيل
فوائد هذه التعليمة :
كيف يتم حذف قيم باستخدام REG IMPORT ؟
قد تكونوا لا حظتم أن تلك التعليمة تستخدم لإضافة قيم إلى محرر التسجيل
و لكن كيف يتم حذف القيم ؟؟؟
مثال :
لحذف القيم الموجودة على المسار
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run
و التي تمثل جزءاً من عناصر بدء تشغيل الويندوز
ننشئ ملف REG ونكتب بداخله
لاحظوا وجود إشارة - و يكمن السر فيها من أجل الإزالة
آمل أن أكود قد وفقت في إيصال الفكرة
و الحديث عن محرر التسجيل حديث لاينتهي و لعل فكرة التعامل معه قد وصلت
يمكنكم إيجاد العديد من المواضيع في الانترنت التي تتحدث عن محرر التسجيل و وعن حركات كثيرة يمكنكم عملها لا حصر لها
و من الجدير ذكره أن العديد من الفيروسات تعتمد على تعديل هذه القيمة لتخرب في النظام
ويمكن عكس هذه القيم لتصحيح المشكلة
الوظيفة :
ابحث بنفسك في الانترنت عن طريقة اخفاء خيارات المجلد Folder Options عن طريق محرر التسجيل واكتب برنامجاً يظهر عند تشغيله خيارين
ولهذه التعليمة عدة متغيرات سنتناول أهمها
أولاً : reg add
صيغة كتابة هذه التعليمة :
كود PHP:
REG add مسار القيمة /v اسم القيمة /t نوع القيمة /d بيانات القيمة /f
سيكون كود ملف دفعي لتعطيل محرر التسجيل هو التالي :
كود PHP:
REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 1 /f

لنكتب الآن ملف دفعي لتصحيح المشكلة السابقة و هي تعطيل إدارة المهام
الكود التالي لملف دفعي يقوم بتعفيل إدارة المهام task manager
كود PHP:
REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f

نكتب اختصاراً HKCU بدلاً من HKEY_CURRENT_USER
ونكتب HKLM بدلاً من HKEY_LOCAL_MACHAINE
مثال آخر :
ليكن لدينا ملف reg الذي يحتوي ما يلي :
كود PHP:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="400"
و القيمة الافتراضية هي القيمة 400 و عند إنقاص هذه القيمة تصبح القوائم اسرع في الفتح
و أكبر سرعة هي عند القيمة 0 أي فتح القوائم بدون فاصل زمني
و الآن لنكتب ملف دفعي يقوم بإدخال هذه القيمة 0 إلى ذلك المسار
الحل :
كود PHP:
REG add "HKEY_CURRENT_USER\Control Panel\Desktop" /v MenuShowDelay /t REG_SZ /d 0 /f
REG delete
صيغة الكتابة :
كود PHP:
REG delete مسار القيمة /v اسم القيمة /f
و الآن لحذف القيمة DisableTaskMgr التي تعطيل إدارة المهام
و الموجودة على المسار
HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\System
يكون كود الملف الدفعي هو التالي :
كود PHP:
REG delete HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /f
لحذف كافة العناصر الموجودة في المسار
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
نكتب الكود :
كود PHP:
REG delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /va /f
حيث a = all أي كل العناصر

في بعض العمليات على محرر التسجيل لن تحصل على نتيحة التنفيذ إلا بعد إعادة تشغيل الكمبيوتر
ya: و الآن نأتي إلى التعليمة الفاصلة
وهي أسهل تعليمة في مجال التعامل مع الملفات الدفعية
reg import
في التعليمتين السابقتين سيكون الأمر صعباً كلما أردنا أن نتعامل مع قيمة في محرر التسجيل يجب أن نعرف مسارها و قيمتها و بياناتها و يجب أن يكون كتابة الكود دقيقاً
و أي خطأ صغير لن يعمل البرنامج
ولكن مع هذه التعليمة لن تحتاج لكل هذه التفاصيل
فقط تحتاج إلى ملف reg الذي كنا نضغط عليه مرتين لادخال القيم
وصيغة هذه التعليمة ايضا سهلة :
كود PHP:
reg import الملف و مساره
ليكن لدينا ملف reg الذي يحتوي على :
كود PHP:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"RegisteredOrganization"="tahasoft.com"
"RegisteredOwner"="منتيديات طه سوفت للبرامج"
( يمكنك رؤية اسم المستخدم الحالي و اسم الشركة بالضغط بالزر اليمين على جهاز الكمبيوتر ثم خصائص )
عند الضغط على هذا الملف و تنفيذه سيصبح اسم الشركة www.tahasoft.com
ويصبح اسم المالك سيصبح " منتديات طه سوفت للبرامج "
و الآن سنضع هذا الملف على القرص c
أي المحتويات السابقة انسخها إلى مفكرة و سمها 1.reg وضعها على القرص C
الملف الدفعي الذي سينفذ العملية السابقة و هي تغيير اسم الشركة و اسم الماك بالاعتماد على الملف reg السابق سيكون كالتالي :
كود PHP:
reg import c:\1.reg
فوائد هذه التعليمة :
- قد يحتوي الملف على أكثر من قيمة واحدة نريد تعديلها فبدلاً من كتابة سطر لكل قيمة و المعاناة بين المسارات و البيانات لكل و احدة يتم ذلك بسهولة تامة
- إذا كان محرر التسجيل معطلاً ( بسبب فايروس أو بشكل مقصود ) فيمكننا إدخال قيم محرر التسجيل بهذه التعليمة
- إذا كان هناك أخطاء على القرص الذي يحتوي ملف محرر التسجيل فإنه لن يعمل بالضغط عليه مرتين حتى نقوم بإصلاح الخطأ لكن بهذه الطريقة لا تهم الأخطاء
كيف يتم حذف قيم باستخدام REG IMPORT ؟
قد تكونوا لا حظتم أن تلك التعليمة تستخدم لإضافة قيم إلى محرر التسجيل
و لكن كيف يتم حذف القيم ؟؟؟
مثال :
لحذف القيم الموجودة على المسار
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run
و التي تمثل جزءاً من عناصر بدء تشغيل الويندوز
ننشئ ملف REG ونكتب بداخله
كود PHP:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

و الحديث عن محرر التسجيل حديث لاينتهي و لعل فكرة التعامل معه قد وصلت
يمكنكم إيجاد العديد من المواضيع في الانترنت التي تتحدث عن محرر التسجيل و وعن حركات كثيرة يمكنكم عملها لا حصر لها
و من الجدير ذكره أن العديد من الفيروسات تعتمد على تعديل هذه القيمة لتخرب في النظام
ويمكن عكس هذه القيم لتصحيح المشكلة

ابحث بنفسك في الانترنت عن طريقة اخفاء خيارات المجلد Folder Options عن طريق محرر التسجيل واكتب برنامجاً يظهر عند تشغيله خيارين
كود PHP:
1 = disable folder options
2 = enable folder options
وعندما نختار الخيار 1 يتم إزالة خيارات المجلد و تظهر رسالة اعماداً على ما أخذناه في بداية الدرس تظهر بأن خيارات المجلد تمت إزالتها و عند الضغط على 2 يتم إظهار خيارات المجلد و تظهر رسالة تفيد بذلك
- علماً أن استعادة خيارات المجلد تحتاج لاعادة تشغيل الكمبيوتر أو تسجيل الخروج ثم تسجيل الدخول أو هناك طريقة أخرى سنراها في الدرس القادم في التعامل مع المهام tasks تغني عن ذلك
من يأتي بالوظيفة صحيحة فإن أموره حتى الآن 100\100
[/frame]
- علماً أن استعادة خيارات المجلد تحتاج لاعادة تشغيل الكمبيوتر أو تسجيل الخروج ثم تسجيل الدخول أو هناك طريقة أخرى سنراها في الدرس القادم في التعامل مع المهام tasks تغني عن ذلك
من يأتي بالوظيفة صحيحة فإن أموره حتى الآن 100\100
تعليق