وصول الدرس الحادي عشر من دورة تعلم لغة autoit

بسم الله الرحمان الرحيم; والصلاة والسلام على أشرف الخلق والمرسلين.
أما بعد فأيها الأحباب, أيها الكرام, أيها الإخوى والأخوات; بتحية الإسلام أحييكم وتحية الإسلام السلام فالسلام عليكم ورحمة الله تعالى وبركاته.
نلتقي اليوم بفضل الله مع الدرس الحادي عشر في لغة البرمجة الرائعة, السهلة, البسيطة شكلا والقوية عملا, لغة autoit المتميزة.
حيث كنا في الدرس العاشر قد تعرفنا على الدوال الخاصة بالتحكم في النوافذ

يمكنكم طبعا العودة إلى الدرس االعاشر وذالك من خلال الرابط التالي
الدرس العاشر
أما اليوم فسوف نتعرف على شيء مختلف تماما, ألا وهو الدوال الخاصة بتشغيل الملفات الصوتية والتحكم بها
وقبل أن ندخل في شرح اليوم دعوني أقدم بعض الملاحظات :
1. أنا متأخر كثيرا في الدورة أعلم هذا, ولاكن أنا متأخر لسبب واحد لا أكثر وهو عدم التفاعل مع الدورة
فأنا أشعر أن الدورة لا تهم الأغلبية منكم ولم أجد تحفيز للمواصلة, فالدورة إن لم تُقرن بالأسئلة والتعليقات فحسب رأيي لا فائدة منها, والأمر يعود لكم.
2. لمتابعة درس اليوم أنتم بحاجة إلى معرفة جيدة بالدوال والمتغيرات في هذه اللغة
فلا يمكننا أن نفهم درس اليوم إن لم نكن نتقن التعامل مع الدوال والمتغيرات
لذا لمن أراد أن يفهم الدرس فعليه أن يرجع إلى الأربع دروس الأولة من اللغة
3. عليكم أن تجربو بعد الدرس فأنا مستحيل أن أقدم لكم كل شيء, ويمكن أن تكن أخطاء في الدرس أو نسيان فلذا على كل من إكتشف خطء أو شيء ناقص أن ينبهني لذالك.
الآن هي بنا نباشر في درس اليوم

مقدمة

أولا علينا أن نفهم ما المقصود بدوال التحكم في تشغيل الملفات الصوتية
هي مجموعة من الدوال الموجودة في لغة autoit بشكل تلقائي وهي تسمح لنا بتشغيل ملفاتنا الصوتية المختلفة وتسمح لنا بإدارة التشغيل كالإيقاف المؤقت وكذالك الاستأناف والتقديم أو الترجيع وكذالك الإيقاف ومعرفة الوقت الكلي ومعرفة الموضع الحالي وغير ذالك
وهي تعتمد بشكل كلي على مكتبة النظام الخاصة بتشغيل الصوتيات
أي لو فقدت هذه المكتبة فجميع الدوال لا تعمل, لاكن جميع أنظمة التشغيل الأصلية تحتوي على هذه المكتبة, أحيانا لا تكن موجودة في الأنظمة المخففة كمثلا windows talking القديمة.
متطلبات العمل
نحن في هذا الدرس نحتاج إلى ملف استدعاء يسمى Sound.au3
وكما نعلم أن لإستدعاء ملف فنستخدم الأمر #include
يعني يصبح كالتالي
#include
وكذالك اليوم سوف نستعين بالكثير من الدوال لذا علينا أولا أن نتعرف على الدوال المستخدمة.

ما هي الدوال المستخدمة في هذا الدرس

كما قلت في البداية أني سوف أتطرق إلى الكثير من الدوال لذا علينا إخواني أن نركز قليلا في الدوال لكي لا يختلط علينا الأمر.

_SoundOpen

التعريف بالدالة

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

شكل الدالة

الدالة تحتوي على إعداد واحد وهو مسار الملف حيث هي على الشكل التالي
_soundOpen(“مسار الملف”)
ومسار الملف هو المسار الكامل لأي ملف صوتي مدعوم حيث الملفات المدعومة هي
ogg / MP3 / MP2 / Wav

نتيجة الدالة

النتيجة هي رمز الفتح الذي سنستخدمه في الدوال الأخرى إذا تم الفتح بنجاح
رمز @error يكن 0 إذا تم فتح الملف
أو يكن 1 إذا كان هناك خطء في إستدعاء المكتبة أو 2 إذا كان الملف غير موجود

ملاحظات

يجب إستخدام هذه الدالة في متغير لكي يمكن استخدام المتغير في الدوال التي ترتبط بنتيجة هذه الدالة
كمثلا
global$SoundOpen = _SoundOpen(“c:\test.mp3”)

مثال على الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من الفتح
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit

_soundPlay

التعريف بالدالة

تستخدم هذه الدالة لتشغيل ملف صوتي وهي ترتبط بشكل غير مباشر مع الدالة السابقة _soundOpen
حيث يمكن استخدامها بدون استخدام الدالة السابقة لاكن يستحسن استخدامها لكي يكن عملنا مرتبط ومتكامل

شكل الدالة

الدالة بسيطة جدا جدا حيث هي تعتمد على إعدادان فقط لا ثالث لهما
والدالة على الشكل التالي
_SoundPlay(“مسار الملف / رمز دالة الفتح”, “إنتظار اكتمال المهمة”)
حيث الإعداد الأول إما أن يكن مسار الملف في حال أردت إستخدام الدالة بدون الإستعانة بالدالة الأولة
أو أن يكن الرمز الخاص بالدالة الأولة وهو قيمة المتغير الذي قمنا باستدعاء الدالة به
أما الإعداد الثاني وهو خيحتمل خياران
1 إذا أردت أن يتوقف تنفيذ السكربت إلى أن تنتهي العملية أي يكتمل تشغيل الملف
أو إما أن يكن 0 في حال أردت أن يواصل تنفيذ الأوامر الأخرى التي تكن بعده
وهو افتراضيا على 0
أي فحال لم تريد أن يتوقف تنفيذ الأوامر فتكتفي بالإعداد الأول

نتيجة الدالة

الدالة تعيد لك الرقم 1 في حال تم استخدام الدالة بالشكل المطلوب وتم تأدية العمل بنجاح
أو 0 إذا كان هناك خطء
ورمز الخطأ @error يكن كالتالي
0 في حال تم العمل بنجاح
1 في حال كان هناك خطء في تشغيل الملف
2 خطء في الإعداد الثاني
3 خطء في دالة _soundOpen

ملاحظات

هذه الدالة لها دالة أخرى مشابهة لها تماما وهي لا تحتاج أي ملف include واسم الدالة
soundPlay
بدون علامة السطر
وإعداداتها نفس إعدادات الدالة إلا أنها لا تقبل soundOpen ويحدث فيها الكثير من الأخطاء

مثال على الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف مع الإنتظار
_SoundPlay($aSound, 1)
إعادة تشغيل الملف بدون الإنتظار
_SoundPlay($aSound)
;إغلاق الملف المفتوح
_SoundClose($aSound)
;الخروج من البرنامج
exit
/xmp>

_soundPause

تعريف بالدالة

هذه الدالة تستخدم لإيقاف الملف الصوتي إيقاف مؤقت
حيث يمكن إستأنافه

شكل الدالة

شكل الدالة يكن كالتالي
_soundPause(“رمز الدالة الأولى”)

هذه الدوال التي ستأتي كلها مرتبطة بشكل مباشر مع دالة _SoundOpen
لهذا علينا بأن لا نستغني عن هذه الدالة

نتيجة الدالة

الدالة تعود لنا بالرقم 1 في حال نجحت العملية
أو بالرقم 0 عند حدوث خطء
رمز الخطأ @error يكن
0 في حال تمت العملية بنجاح
1 في حال هناك خطء في الإيقاف المؤقت
أو 2 في حال هناك خطء في دالة _SoundOpen

ملاحظات

يمكن عكس الدالة أي إستأناف التشغيل باستبدال
_SoundPause
بدالة
_Soundresume
والتي لها نفس إعداداتها ونفس النتائج
لذا لا داعي أن نذكرها في قسم مستقل

مثال على الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف بدون الإنتظار
_SoundPlay($aSound)
;الإنتظار لمدة ثانية
Sleep(1000)
;إيقاف الملف مؤقتا
_SoundPause($aSound)
;الإنتظار لمدة ثانية
Sleep(1000)
;إستأناف الملف
_SoundResume($aSound)
;حلَقة للتأكد من تشغيل الملف كاملا
While 1
	Sleep(100)
	If _SoundPos($aSound, 2) >= _SoundLength($aSound, 2) Then ExitLoop
WEnd
;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit

_SoundStop

تعريف بالدالة

إن هذه الدالة تستخدم للإيقاف النهائي لملف صوتي جاري تشغيله

شكل الدالة

إن هذه الدالة شكلها هو نفسه شكل الدالة السابقة
_soundStop(“نتيجة الدالة الأولى”)

نتيجة الدالة

الدالة تعود لنا بالرقم 1 في حال نجحت العملية
أو بالرقم 0 عند حدوث خطء
رمز الخطأ @error يكن
0 في حال تمت العملية بنجاح
1 في حال هناك خطء في الإيقاف
أو 2 في حال هناك خطء في دالة _SoundOpen

مثال على الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف مع الإنتظار
_SoundPlay($aSound, 1)
;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit

_SoundLength

التعريف بالدالة

تستخدم هذه الدالة للتعرف على الوقت الكلي لملف صوتي

شكل الدالة

الدالة كذالك بسيطة جدا
حيث شكلها كما يلي
_SoundLength(“رمز دالة _SoundOpen”, النوع =1)
رمز دالة _SoundOpen لقد تعودنا عليه خلاص
أما النوع
فيمكن أن يكن 1 وهو أن تكن النتيجة كشكل الساعة المعروف أي ساعات:دقائق:ثوان
أو أن يكن بجزء الثانية وهو أن يعطيك الوقت عبارة عن عدد أجزاء الثواني وكل 1000 يمثل ثانية

نتيجة الدالة

الدالة تعود لنا بوقت الملف حسب النوع المختار في حال نجحت العملية
أو بالرقم 0 عند حدوث خطء
رمز الخطأ @error يكن
0 في حال تمت العملية بنجاح
1 في حال هناك خطء في النوع
أو 3 في حال هناك خطء في دالة _SoundOpen

ملاحظة

يستحسن استدعاء الدالة في متغير حتى يختصر عليك الوقت إن أردت أن تستخدم القيمة لاحقا

مثال على الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف بدون الإنتظار
_SoundPlay($aSound, 0)
;معرفة الوقت الكلي
MsgBox($MB_SYSTEMMODAL, "الوقت الكلي للملف", "الوقت الكلي للملف بصيغة :" & @CRLF & "hh:mm:ss - " & _SoundLength($aSound, 1) & @CRLF & "بالجزء من الثانية - " & _SoundLength($aSound, 2))
;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit


_SoundPos

التعريف بالدالة

تستخدم هذه الدالة للتعرف على الموضع الحالي لملف صوتي

شكل الدالة

الدالة كذالك بسيطة جدا
حيث شكلها كما يلي
_SoundPos(“رمز دالة _SoundOpen”, النوع =1)
رمز دالة _SoundOpen لقد تعودنا عليه خلاص
أما النوع
فيمكن أن يكن 1 وهو أن تكن النتيجة كشكل الساعة المعروف أي ساعات:دقائق:ثوان
أو أن يكن بجزء الثانية وهو أن يعطيك الوقت عبارة عن عدد أجزاء الثواني وكل 1000 يمثل ثانية

نتيجة الدالة

الدالة تعود لنا موضع الملف حسب النوع المختار في حال نجحت العملية
أو بالرقم 0 عند حدوث خطء
رمز الخطأ @error يكن
0 في حال تمت العملية بنجاح
1 في حال هناك خطء في النوع
أو 3 في حال هناك خطء في دالة _SoundOpen

ملاحظة

يستحسن استدعاء الدالة في متغير حتى يختصر عليك الوقت إن أردت أن تستخدم القيمة لاحقا

مثال على الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف بدون الإنتظار
_SoundPlay($aSound, 0)

;الإنتظار لمدة ثانيتين
sleep(2000)
MsgBox($MB_SYSTEMMODAL, "الموضع الحالي للملف", "الموضع الحالي للملف بصيغة :" & @CRLF & "hh:mm:ss - " & _SoundPos($aSound, 1) & @CRLF & "بالجزء من الثانية - " & _SoundPos($aSound, 2))
;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit

_SoundSeek

تعريف بالدالة

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

شكل الدالة

هذه الدالة فيها بعض الإعدادات حيث سنتعرف عليها
_SoundSeek(“رمز دالة _SoundOpen”, ساعات, دقائق, ثوان)
حيث الرمز إنتهينا منها هي معروفة لدينا
أما الساعات فهي نستخدمها لو أردنا التنقل لساعة معينة في الملف
دقائق للانتقال لدقيقة معينة في الملف
ثوان للإنتقال إلى ثانية معينة في الملف

نتيجة الدالة

النتيجة تكن كما يلي
1 في حال نجاح العملية
0 في حال فشل العملية
والرمز @error يكن كالتالي
0 نجاح العملية
1 فشل العملية
3 خطء في _SoundOpen

ملاحظات

الدقائق لا يجب أن تتجاوز 59 والثوان كذالك
فلو تجاوزت الثوان 59 فعند بلوغها ال60 تصبح 1 دقيقة يعني تنقل إلى خانة الدقائق والباقي منها على الثوان وأكمل حسب ذالك
ونفس الشيء للدقائق لو وصلت 59 دقيقة فال60 تصبح 1 ساعة وما تبقى منها على الدقائق والثوان وأكمل على ذالك

مثال على الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف بدون الإنتظار
_SoundPlay($aSound, 0)

;الإنتظار لمدة ثانيتين
sleep(2000)
;التقديم إلى الثانية الرابعة في الملف
_SoundSeek($aSound, 0, 0, 4)
;معرفة الموضع الحالي
MsgBox($MB_SYSTEMMODAL, "الموضع الحالي للملف", "الموضع الحالي للملف بصيغة :" & @CRLF & "hh:mm:ss - " & _SoundPos($aSound, 1) & @CRLF & "بالجزء من الثانية - " & _SoundPos($aSound, 2))
;تكميل تشغيل الملف
_SoundPlay($aSound, 0)
;حلقة للتأكد من التشغيل الكلي للملف
While 1
	Sleep(100)
	If _SoundPos($aSound, 2) >= _SoundLength($aSound, 2) Then ExitLoop
WEnd

;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit


_SoundStatus

تستخدم هذه الدالة لمعرفة حالة الملف الصوتي

شكل الدالة

الدالة بسيطة جدا حيث لها إعداد واحد وهو رمز دالة _SoundOpen
شكلها كما يلي
_SoundStatus(“رمز _SoundOpen”)

نتيجة الدالة

حالة الملف عند نجاح العملية
0 في حال فشلت العملية
@error يكن كالتالي
0 عند نجاح العملية
3 عند حدوث خطء في _SOundOpen

قائمة الحالات

الدالة تعود بحالات الملف التالية
“playing”: عندما يكن الملف قيد التشغيل
“paused”: عندما يكن الملف في حالة إيقاف مؤقت
“stopped”: عندما يكن الملف في حالة إيقاف
“not ready”: عندما يكن الملف غير مفتوح أصلا

مثال عن الدالة


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف بدون الإنتظار
_SoundPlay($aSound, 0)
;معرفة حالة الملف
MsgBox($MB_SYSTEMMODAL, "حالة الملف عند التشغيل", _SoundStatus($aSound))
;الإنتظار لمدة ثانيتين
sleep(2000)
;إيقاف الملف مؤقتا
_SoundPause($aSound)
;معرفة حالة الملف
MsgBox($MB_SYSTEMMODAL, "حالة الملف عند الإيقاف المؤقت", _SoundStatus($aSound))
;إيقاف الملف
_SoundStop($aSound)
;معرفة حالة الملف
MsgBox($MB_SYSTEMMODAL, "حالة الملف عند الإيقاف", _SoundStatus($aSound))

;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit


_SoundClose

التعريف بالدالة

تستخدم هذه الدالة لغلق ملف صوتي
أو لكي تنهي عمل دالة _SOundOpen
ويجب استخدامها قبل الخروج من البرنامج الخاص بك في حال استخدمت دالة _SoundOpen

شكل الدالة

_SoundClose (“رمز دالة _SoundOpen”)

مثال


;إستدعاء الملفات اللازمة
#include <MsgBoxConstants.au3>
#include <Sound.au3>
;فتح الملف
Local $aSound = _SoundOpen(@WindowsDir & "\media\tada.wav")
;أمر شرطي للتأكد من فتح الملف
If @error = 2 Then
	MsgBox($MB_SYSTEMMODAL, "Error", "لم يتم العثور على الملف")
	Exit
Else
	MsgBox($MB_SYSTEMMODAL, "نجاح", "تم فتح الملف بنجاح")
EndIf
;تشغيل الملف مع الإنتظار
_SoundPlay($aSound, 1)
;غلق الملف الذي تم فتحه
_SoundClose($aSound)
;الخروج من البرنامج
exit


ملاحظة مهمة بخصوص الدورة

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

خاتمة

أعزائي هذا ما استطعت أن أقدمه في هذا الدرس
فأرجو أن تعذروني على أي تقصير.
كما أرجو أن لا تؤاخذوني إذا كان الدرس طويل فهو مرتبط ولا يمكنني أن أقسمه لجزئين
كما أرجوكم لا تنسوني من دعائكم الصالح
وفضلا قمو بنشر الدورة حتى تعم الفائدة
أكرر لأقول
أنا بريء أمام الله عز وجل من كل من يستغل هذه الدروس في إيذاء الناس أو فعل ما يغضبه سبحانه وتعالى
إنما أنا أقدمها من باب المعرفة
ولكي نكن مستقلين جميعا في تعاملنا مع الحاسوب
كما لتطبيق أفكارنا على أرض الواقع
تقبلو تحياتي
وقبل أن أختم أحب أن أقدم لكم
رابط
الدرس الحادي عشر
الذي سيكن متوفر قريبا على الرابط السابق
أكرر وأرجوكم
لا تنسوني من دعائكم
والله أنا بالحاجة إليه
كما أرجو زيارة موقعنا وطرح أي إستفسار في منتدى لغة autoit
إليكم رابط الموقع
https://mx-blind.com/
ملاحظات :
لأي سؤال في الدورة إذا كان متعلق بأي درس من الدروس فيرجى طرح السؤال في تعليق في المنشور المتعلق بالدرس في المنتديات
وإلا بإمكانكم طرح السؤال في موضوع مستقل داخل منتدى اللغة

ومسك الختام السلام فالسلام عليكم ورحمة الله تعالى وبركاته

أشهر 5 متصفحات توفر أعلى نسبة في حماية الخصوصية لمستخدميها (مع الأسف متصفح كروم ليس من بينهم)

السلام عليكم ورحمة الله تعالى وبركاته
أصبح العديد من مستخدمي الإنترنت أكثر إهتمامًا بحماية خصوصيتهم أثناء تصفحهم للإنترنت
وذلك بعد أن زاد معدل عمليات الاختراق
ليصل لأكثر من عملية أسبوعيًا، وبالطبع فإن خيارات حماية الخصوصية في متصفحات الإنترنت
تعتبر خط الدفاع الأول لحماية البيانات الخاصة بالمستخدمين ومنع الشركات من تتبعهم والتعرف على سلوكهم عبر الإنترنت.
ولهذا سنقوم باستعراض أشهر 5 متصفحات إنترنت توفر لك أعلى مستوى من حماية الخصوصية :
ومع الأسف Google Chrome لم يحظى بكرسي في هذه الإحصائية.

1- فايرفوكس Firefox

يعتبر متصفح فايرفوكس واحد من أفضل المتصفحات الآمنة التي تدعم الخصوصية من خلال العديد من الإضافات Add-ons  الخاصة بتعزيز حماية الخصوصية ومنها على سبيل المثال
وليس الحصر HTTPS Everywhere و uBlock Origin و NoScript و Stop Fingerprinting و Windscribe.
متصفح فايرفوكس
يتميز أيضًا بأنه سهل الاستخدام وله واجهة مستخدم ممتازة وأدائه سريع  كما يصدر له تحديثات دورية بإستمرار بالإضافة إلى أنه يستهلك ذاكرة أقل 30% عن متصفح
جوجل كروم وذلك وفقًا لشركة موزيلا.

2- تور Tor

متصفح Tor
 تم تصميمه إعتمادًا على مجموعة من الخوادم المخفية بحيث يتيح لك تصفح الإنترنت مع إخفاء رقم IP الخاص بك وإخفاء هويتك، وخلافًا لمتصفحات الإنترنت الأخرى فإن
متصفح تور قد تم تصميمه لهدف رئيسي وهو حماية الخصوصية لمستخدميه، حيث مدمج به برنامج لمكافحة الفيروسات وكذلك برنامج مدمج لمكافحة الملفات الضارة Malware

3- إيبيك Epic

يعتبر متصفح إيبيك من أفضل المتصفحات في حماية الخصوصية حيث يقوم بحذف جميع ملفات تعريف الارتباط Cookies وأي عمليات تتبع بعد كل جلسة تصفح للإنترنت، وأي عملية
بحث يقوم بها المستخدم بإستخدام هذا المتصفح تتم عبر خوادم خاصة بالمتصفح بمعنى أنه لا يمكن الربط بين أي عملية بحث ورقم IP للجهاز الذي تم من خلاله عملية البحث.

وللعلم فإن متصفح Epic لا يقوم بتجميع أي بيانات خاصة بمستخدميه، كما يتضمن أداة مدمجة لمنع ظهور الإعلانات أثناء التصفح للإنترنت.

4- بريف Brave

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

5- يانديكس Yandex

هذا المتصفح من إنتاج شركة
يانديكس
الروسية الشهيرة ويعتبر أشهر محرك بحث في روسيا، ويتميز بقيامه بحظر المواقع التي بها محتوى ضار وكذلك حماية كلمات السر المخزنة عليه، هذا بالإضافة إلى تأمين
بيانات بطاقات الائتمان المستخدمة في عمليات الشراء عبر الإنترنت، كما يقوم بإستخدام تقنية DNSCrypt لتشفير نظام أسماء النطاقات DNS بالإضافة إلى إخفاء رقم
IP الخاص بك أثناء التصفح.
ختاما تقبلو تحيات أخوكم في الله @ناصر بعزيز
ملاحظة
الموضوع منقول مع التعديل

أخيرًا ومع التحديث الجديد للأداة العملاقة الخاصة بتعطيل التحديثات في windows 10

بسم الله الرحمان الرحيم

والصلاة والسلام على سيدنا محمد وعلى آله وصحبه أجمعين.

أما بعد فأيها الأحباب السلام عليكم ورحمة الله تعالى وبركاته

أضع بين أيديكم اليوم التحديث الجديد لأداة تعطيل التحديثات في windows 10

حيث كانت قد توقفت عن العمل مع آخر إصدار من النظام

وها هي تعود إلى العمل مع هذا التحديث

أنا قمت بتحميل الأداة من الموقع الرسمي

ولأنها تعمل بأوامر سطرية

قمت بتسهيلها حيث وضعت إلى جانبها ملفين ملف للحذف وملف للتثبيت

فقط عليك بتشغيل الملف الذي إسمه install.cmd

كمسؤول لتثبيت الأداة وتعطيل التحديثات

أو remove.cmd

لتفعيل التحديثات مرة أخرى

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

لذا يستحسن وضعها في مجلد خاص في القرص c مثلا

هذا طبعا ليس واجب ولاكن أحببت أن أنوه إلى ذالك

والآن بدون إطالة مع تحميل الأداة

إسم الأداة UpdaterDisabler

حجمها 70 KB
المطور شاب روسي
تاريخ التحديث 10.06.2018
التحميل برابط مباشر من خادمنا إضغط هنا

أخيرا تقبلو تحيات أخوكم ناصر بعزيز
ولا تنسوني من خالص دعائكم

إليكم الأداة العملاقة التي تقم بإرجاع شريط القوائم إلى الحالة الطبيعية في windows 8 و windows 10

السلام عليكم ورحمة الله تعالى وبركاته
إخواني الكرام أقدم لكم اليوم هذه الأداة الرائعة التي تقم بإرجاع شريط القوائم في إصدارات windows الحديثة إلى الشكل الكلاسيكي
حيث كانت شركة ميكروسوفت تخلت تدريجيا عن شريط القوائم الذي نعرفه
menu bar
وقامت بإستبداله بميزة جديدة أطلقت عليها إسم
ribbon
وهي ليست متوافقة بالشكل المطلوب
وليست بسهولة شريط القوائم الذي تعودنا عنه.
لذا هذه الأداة العملاقة تقم بإرجاع الشريط الكلاسيكي الذي تعودنا على إستخدامه.
وهي سهلة للغاية
حيث يكفي تحميلها من
هذا الرابط
ثم قم بفك الضغط عنها لينتج عن ذالك
عدة ملفات نحن ما نحتاجه هو 2 منها فقط
حيث هما كالتالي
Ribbon disabler3 x64.exe
وهذا لنظام 64
والثاني
Ribbon disabler3.exe
وهذا لنظام 32
حيث نقم بتشغيل الملف الذي يناسب جهازنا, ثم نضغط على
disable ribbon explorer
بعد ذالك يطلب منا تسجيل الخروج نوافق على ذالك وبالتالي تم إرجاع الشريط بنجاح
وإذا أردنا أن نعكس العملية فما علينا إلا أن نفتح الأداة وهذه المرة نختار
enable ribbon explorer
فيطلب منك تسجيل الخروج وبالتالي يرجع كل شيء إلى طبيعته.
ملاحظة هناك طريقة يدوية لتعطيل هذا لمن يريد المجازفة, أنا سوف أشرحها قريبا جدا إن شاء الله
هي وطريقة تغيير نغمة البداية.
أما الآن فتقبلو تحيات أخوكم في الله ناصر بعزيز ولا تنسوني من خالص دعائكم

بعض الخطوات لتسريع أداء حاسوبك الذي يعمل بنظام ويندوز 10.

بعض الخطوات لتسريع أداء حاسوبك الذي يعمل بنظام ويندوز 10.
من الطبيعي جدًا: عندما تشتري جهاز كمبيوتر جديد أن يكون أداؤه سريعًا، ولكن جميع أجهزة الكمبيوتر تتباطأ مع مرور الوقت.
وللعلم: فإنه من السهل استعادة سرعة الأداء للجهاز مع بعض الحيل البسيطة والتي لن تحتاج منك إنفاق المزيد من الأموال لِتُغيِّر بعض المكونات.
سنتعرض اليوم بالشرح لبعض الحِيَل التي تساعدك على تحسين أداء نظام التشغيل ويندوز 10 Windows 10: والتي ستؤدي بدورها إلى تحسين الأداء العام لِجهازك.

1: – إزالة برامج بدء التشغيل startup programs.

أحد الأسباب الرئيسية التي تجعل أجهزة الكمبيوتر تستغرق وقتًا طويلاً لبدء التشغيل: هو جميع التطبيقات والأدوات المساعدة التي تم تثبيتها، حيث يتم تشغيل العديد منها تلقائيًا عند بدء تشغيل نظام التشغيل الويندوز Windows.
مثلا: يمكن بدء بعض البرامج مثل درايف Drive، يدويًا عند الحاجة إليها بدلاً من تشغيلها طوال الوقت.
لتعطيل كافة البرامج الأخرى وتطبيقات المساعدة التي تبدأ العمل مع تشغيل ويندوز 10، هناك طريقتين، الطريقة الأولى:
• من خلال لوحة المفاتيح اضغط على Windows + R
• ثم اكتب msconfig واضغط Ok.
• اذهب الى تبويبة Startup.
• ستجد قاءمة بالبرامج: قُم بتعطيل البرامج الغير ضرورية.
أما الطريقة الثانية: باستخدام برنامج CCleaner.
•قُم بفتح البرنامج: ابحث عن أدوات Tools:
•ثم اذهب الى بدء التشغيل startup:
•تحرك تاب: حتى تصل الى قاءمة البرامج:
• قُم بالوقوف على البرنامج المراد. واضغط مفتاح التطبيقات Applications:
•ثم اختر تعطيل Disable.

2: – إلغاء تجزئة القرص الصلب الخاص بك Disk Defragment.

تعمل الإصدارات الحديثة من نظام التشغيل ويندوز على إلغاء تجزئة القرص تلقائيًا.
إلا أنَّ أداة Disk Defragmenter من مايكروسوفت المُضمنة داخل نظام ويندوز: يمكن استخدامها لحل مشكلة تجزئة القرص الصلب وتسريع أداء الجهاز.
وهناك أدوات تجزئة أفضل تعمل على تعزيز الأداء بشكل أكبر: مثل برنامج Defraggler من Piriform.
الهدف من عملية إعادة تجزئة القرص الصلب: هو تسريع الجهاز بإعادة ترتيب الملفات ومحْو المساحات الفارغة.
وللقيام بعمل ذلك من خلال برنامج Defraggler: إليك الخطوات.
• قُم بفتح البرنامج أولا:
• ثم تحرك بالتاب: حتى تصل الى قاءمة الPartitions:
• قُم بالوقوف على الPartition المراد: واذهب الى تحليل Analyze:
• انتظر حتى ينتهي الفحص: ثم تحرك تاب: الى إلغاء التجزئة Defragmentation.
• انتظر حتى ينتهي: مع العلم أن هذه العملية ستأخذ وقت كبير: حوالي من 10 دقائق الى 15 دقيقة.

3: -تحقق من وجود أي برامج ضارة Malware.

من الأفضل إجراء فحص لنظام التشغيل: للتأكد من عدم وجود برامج ضارة تتسبب في بطء جهازك. إذا كنت تعتمد على Windows Defender للحصول على الأمان، فستحتاج إلى القيام بهذه الخطوات.
• اضغط على قائمة إبدأ Start Menu:
• ثم اختر إعدادات Setting:
• ثم اختر تحديث وأمان Update and Security: ثم اختر Windows Defender:
•تحرك بالتاب: حتى Open Windows Defender:
• ثم انْقَر فوق فحص الآن Scan now.
إذا عَثَر Windows على أي شيء غير مرغوب فيه، فسيساعدك على معرفة واقتراح طرق للتعامل مع المشكلة.
إذا كنت تستخدم حزمة مكافحة فيروسات أخرى: مثل AVG أو Norton أو McAfee أو Kasper ، فستحتاج إلى تشغيل البرنامج: والعثور على خيار إجراء فحص النظام، وعادةً ما يكون من السهل جدا اكتشاف هذه البرامج الضارة بواسطة البرامج الشهيرة لمكافحة الفيروسات.
وللحصول على البرامج التي تم ذكرها. في هذه المقالة يرجى زيارة الموضوع التالي
الحزمة الشاملة الصامتة لجميع منتجات Piriform , متجددة إن شاء الله
أو
الحزمة الشاملة المحمولة لجميع منتجات Piriform
في الختام تقبلوا تحياتي

حصريًا. عملاق التحميل من الyoutube ومواقع أخرى وتحميل قوائم التشغيل الأول: YTD Video Downloader PRO v5.9.9. PORTABLE BY MAHMOUD.ATEF

حصريًا. عملاق التحميل من الyoutube ومواقع أخرى وتحميل قوائم التشغيل الأول: YTD Video Downloader PRO v5.9.9. PORTABLE BY MAHMOUD.ATEF
بسم الله الرحمن الرحيم.
السلام عليكم ورحمة الله وبركاته.
أعضاء وزوار موقع ومنتديات: شؤون الكفيف العربي mx-blind
نُرَحب بكم من جديد
ونتمنى من المولى القدير أن تكونوا في أحسنِ حالٍ دائما إن شاء الله.
عزيزي:
لا شَكَ إنَ حاجاتنا لتحميل المقاطع الصوتية والمقاطع المرئية باتَ احتياجًا مُلِحًا للغايةِ
فقد نحتاجُ مثلا إلى استعادةِ ذكريات جميلة عن طريقِ فيديوهاتٍ مُصَورة عبر موقع التواصل الاجتماعي الfacebook ولا تريد الاكتفاء بمشاهدتها فقط.
بل تريد حفظها على جهازِك والاستمتاع برؤيتها أينما كنت دون الاحتياج إلى موقع التواصل الاجتماعي.
أو مثلا أعجبك فيديو عبر موقع الyoutube أو موقع الفيديو ديليموشَن.
أو تُريدُ تحميل قائمة تشغيل كاملة نالت إعجابك بشكل رهيب.
عبر قناةٍ ما على الyoutube
كلُ هذا مع عملاق التحميل
ال YTD Video Downloader
نعم هذا البرنامج بمشيئةِ الرحمن سيقومُ بتحميل ما تريد وبصيغتِك المحببة.
mp4
mp3
wmv
flv
wave
وخلافه من الصيغ المعروفة لدى الجميع.
YTD Video Downloader
يعتبر الآن أبسط وأجمل من البرنامج الشهير ال4k
فالYTD Video Downloader
يتميز عن منافسه بالتوافقية الرائعة والقوية مع قارئات الشاشةِ
ويتميز بدعمه للغة العربية.
YTD Video Downloader
من البرامج التي للأسف تحتاجُ إلى تفعيلٍ لضمان عملها باستمرارية تامة.
لذلك:
قامَ أخيكم في الله
محمود عاطف
بعمل البرنامج بنسخةٍ محمولة لأجل عيونِ حضراتكم
الآن:
لمحة تقنية عن البرنامج:
الاسم:
YTD Video Downloader
الإصدار:
v5.9.9.
النسخة:
pro.
محمولة لا تحتاج إلى تثبيت.
التوافقية رائعة مع قارئات الشاشة.
الترخيص.
مُفعل.
الحجم:
27 ميجا بايت.
رابط التحميل
من هنا
في الختامِ لا تنسونا في صالح الدعوات.
لكم منا فائق الحب والاحترام.
والسلام عليكم ورحمة الله وبركاته.

أفضل الطرق اليدوية المتاحة لتعطيل التحديثات التلقائية لنظام windows 10

أفضل الطرق اليدوية المتاحة لتعطيل التحديثات التلقائية لنظام windows 10.
بسم الله الرحمن الرحيم, والصلاة والسلام على أشرف الأنبياء والمرسلين.
أما بعد: فَ أيها الأحباب, يشرفني أن أُقَدِّمَ لَكم أفضل الطرق المتاحة لتعطيل التحديثات التلقائية لنظام windows 10.
حيث أن هذا النظام: عطل خاصية التحكم بالتحديثات البسيطة: التي تَعَودنا عليها في الأنظمة السابقة.
لذا: قاموا بتصميم الكثير من الأدوات التي تقومُ بهذه العملية: ولاكن: مع الأسف: أغلبها فشلت في التحديث الأخير.
لذا: قررْتُ مشاركتَكم هذه التجربة, لعلها تأتي بالغرض: وإذا كانت أي طريقة من الطرق فعالة مع الجميع فسوف أعمل أداة لهذا الأمر: لذا: تنبيهاتكم مهمة جدا.
فمن تنجح معه أي طريقة من الطرق, فيُرْجَى إعلامي بها كي آخُذها بعَينِ الاعتبار.
والآن: إليكم 4 حِيَل يمكن أن تُفيد.
ملاحظة :
أنا قمت بنقل الحِيَل من موقع أجنبي, وقمت بتبسيطها وترجمتها إلى العربية ترجمة يدوية: لذا: أعتذر ان لم تعمل أي حيلة من الحِيَل: فأنا سوف أجربها معكم: وإذا كانت فعالة فسوف أقُم بعمل أداة بشكل مباشر إن شاء الله تعالى.
والآن: هيا بنا إلى الحِيَل المتوفرة.

الحيلة 1. تعطيل خدمة التحديثات:

ملاحظة: هذه الخطوة يمكن أن تُعطِّل التحديثات مؤقتا, ولاكن مع الأسف: هي تَتَفَعَّل تلقائيا بعد مدةٍ لا يمكن تحديدها.
على أي حال: هذه الطريقة :

  • 1. يرجى الضغط على زر شعار Windows + R مع بعض للذهاب إلى قائمة التشغيل السريع.
  • 2. أُكْتب services.msc ثم اضغط على مفتاح الإدخال:
  • 3. إنزل إلى Windows Update, and ثم إنقر عليه:
  • 4. في نوع التشغيل startup type , اختر تعطيل Disabled. ثم اضغط على تطبيق apply لِحفظ الإعداد.

الحيلة 2: التعديل على إعدادات Group Policy Editor.

ملاحظة: إن خدمة Group Policy ليست متوفرة على نسخة Home edition. وهي تعمل فقط إذا كنت تعمل بنظام Windows 10 Professional, Enterprise, or Education.
يمكنك تعديل إعداد التحديثات من هنا, حيث ينبهك النظام فقط بوجود تحديثات: وبدون القيام بالتحديث تلقائيا.
للقيام بهذه الخطوة يرجى اتباع الخطوات البسيطة التالية :

  • 1. اضغط على زر windows + R ثم قُم بكتابة gpedit.msc ثم اضغط مفتاح الإدخال.
  • 2. يرجى الذهاب إلى:
    Computer Configuration ثم Administrative Templates ثم Windows Components ثم إلى Windows Update.
  • 3. ابحث عن Configure Automatic Updates.
    واضغط عليها.
  • 4. ثم اختر Disabled
    بعد هذا: اضغط على ok للحفظ.

ملاحظة :
إذا كنت بحاجة لتفعيل التحديثات التلقائية مرة أخرى: فيُرْجَى التوجه لنفس المسار, ثم اختر في القائمة enable

الحيلة 3: حد اتصال الشبكة

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

  • 1. اضغط على زر شعار windows + i للذهاب إلى الإعدادات:
  • 2. تحرك إلى القائمة: ثم اختر Network & Internet:
  • 3. تحرك إلى القائمة: ثم تأكد أنك اخترت الحالة status:
  • 4. تحرك بمفتاح tab مرة واحدة تجد:
    تعديل خصائص الإتصال Change connection properties:
  • 5. تحرك إلى Set as metered connection:
    ثم قُم بتفعيلها.

الحيلة 4: تعديل طريقة التحديث باستخدام سجل النظام system registry.

ملاحظة :
هذه الطريقة لا تحتمل الخطأ, لأن المكان خطير.
أنا لا أتحمل أي مسؤولية خطأ في الاستخدام.
دعونا نَبْدَء في التطبيق.

  • 1. اذهب إلى التشغيل السريع بالضغط على زر windows + r:
  • 2. أُكْتب regedit ثم اضغط مفتاح الإدخال:
    ثم قُم بالتوجه إلى المسار التالي من العرض الشجري:

    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows

    كما يمكنكم كتابته في المربع الذي نصِل إليه بمفتاح tab والضغط على مفتاح الإدخال:
    وللتسهيل: سوف أضع لكم المسار في عدة أَسْطر.
    حيث أولا: نتوجه إلى HKEY_LOCAL_MACHINE:

    ثم نبحث عن SOFTWARE:
    ثم عن Policies:
    ثم Microsoft:
    ثم Windows.
    3. اضغط بمفتاح التطبيقات على المفتاح المسمى Windows ثم قم بتحديد New, ثم اختر Key.

  • 4. قم بتسمية المفتاح الجديد WindowsUpdate ثم اضغط على مفتاح الإدخال.
  • 5. اضغط مفتاح التطبيقات على المفتاح الجديد ثم كرر نفس العملية يعني قُم باختيار new ثم key.
  • 6. قُم بتسمية المفتاح الجديد AU ثم اضغط مفتاح الإدخال.
  • 7. اضغط مرة أخرى على المفتاح الأخير الذي أنشأناه بمفتاح التطبيقات ثم اختر New, ولاكن هذه المرة اختر DWORD (32-bit).
  • 8. قُم بتسمية المفتاح الجديد AUOptions ثم اضغط مفتاح الإدخال.
  • 9. قُم بتحديد المفتاح au ثم تحرك بمفتاح tab مرة واحدة ثم انزل بالسهم إلى AUOptions,
  • 10. اضغط عليه بمفتاح التطبيقات: ثم اختر modify ثم غيِّر القيمة إلى الرقم 2: حيث هذه العملية تجعل النظام ينبهك قبل أن يَقُم بأي تحديث.
    ثم قُم بغلق سجل النظام.

ختاماً لا تنسى عزيزي الدعاء لأخوك الصغير @ناصر بعزيز
كما أتمنا منكم أن تُشاركوا في هذا الموضوع بأرائكم, كي نقُم بعمل أداة سهلة, ونتخلص من كل الطرق المعقدة.
ختاماً تقبلوا تحياتي: ولا تنسوني من خالص دعائكم. e

إليكم الدرس العاشر من الدورة الخاصة بلغة autoit

بسم الله الرحمان الرحيم; والصلاة والسلام على أشرف الخلق والمرسلين.
أما بعد فأيها الأحباب, أيها الكرام, أيها الإخوى والأخوات; بتحية الإسلام أحييكم وتحية الإسلام السلام فالسلام عليكم ورحمة الله تعالى وبركاته.
نلتقي اليوم بفضل الله مع الدرس العاشر في لغة البرمجة الرائعة, السهلة, البسيطة شكلا والقوية عملا, لغة autoit المتميزة.
حيث كنا في الدرس التاسع قد تعرفنا على بعض الدوال الخاصة بإنهاء العمليات, وفي الدرس الثامن كنا قد تعرفنا على دوال تشغيل العمليات.

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

مقدمة

إن التحكم في النوافذ شيء مهم جدا, حيث هذه العملية تسهل لنا إدارة النوافذ المفتوحة والغير مفتوحة, كمثلا غلق نافذة, أو تصغيرها, وغيرها.
ولغتنا الحبيبة تحتوي على العديد من الدوال المدموجة التي تسمح لنا بإدارة نوافذنا بكل سهولة
وهذا ما سنتعرف عليه اليوم إن شاء الله تعالى في هذا الدرس.


الآن دعونا نتعرف على الدوال التي سنتعرف عليها في درسنا هذا

الدوال التي سنعمل على شرحها في الدرس

في هذا الدرس سوف نعمل على ثلاثة دوال فقط, على أن نتعرف على الدوال الأخرى تدريجيا مع الشروحات التالية.
والدوال التي سنتعرف عليها اليوم هي كالتالي

  • WinActive
    لمعرفة إذا كانت النافذة هي التي على الواجهة أو لا
  • WinActivate
    لجعل النافذة في الواجهة
  • WinExists
    لمعرفة إذا كانت النافذة موجودة أو لا
  • WinClose
    لغلق نافذة
  • WinSetState
    لتغيير حالة النافذة

وهناك العديد من الدوال الأخرى الموجودة في هذه اللغة
إذا أردتم أن نذكرها في الدرس التالي
فيرجى إخباري بذالك, وإلا فيمكنكم البحث عنها في ملف المساعدة الخاص باللغة.
والآن أيها الأحباب دعونا ندخل في الشرح

التفصيل

دعونا نتطرق إلى الدوال كما تعودنا أيها الأحباب

دالة WinActivate

هذه الدالة تستخدم لجعل النافذة في الواجهة
وهي بسيطة جدا وسوف نرى هذا

شكل الدالة

WinActivate(“عنوان”, “نص النافذة”)
حيث العنوان هو عنوان النافذة التي تريد تفعيلها
والنص هو نص إضافي يمكن التخلي عنه, حيث هو يستخدم لو كنت تملك أكثر من نافذة بنفس الإسم
فمثلا, لتفعيل برنامج المفكرة نكتب

WinActivate(“Untitled – Notepad”)
كما يمكننا هنا إستخدام الكلاس أو ال رمز (handle)
حيث لو كنا نملك الرمز handle الفريد لكل نافذة هذا يغنينى عن إستخدام الإسم
والرمز handle يشبه ال pid الذي كنا قد تعرفنا عليه في الدرسين السابقين.
لاكن هذا مخصص للنوافذ وعناصر النوافذ, وهذا سوف نتعرف عليه بتعمق عند وصولنا إلى إنشاء النوافذ وعناصرها.
حيث أن الكلاس هو كذالك رمز يمكننا أن نتحكم في النافذة من خلاله
والكلاس ثابت حيث عند إنشاء النافذة يختار لها المصمم كلاس تعمل عليه
فمثلا المفكرة نقم بتفعيل نافذته باستخدام الكلاس كما يلي
WinActivate(“[CLASS:Notepad]”)
أتمنا أن يكن الأمر واضح
والآن

نتائج الدالة

عند النجاح تكن النتيجة هي الرمز الفريد handle الخاص بالنافذة
وعند الخطء لأي سبب من الأسباب, كعدم وجود النافذة يكن الرقم 0

ملاحظة :

في حال كان عدة نوافذ بنفس الإسم والخصائص فسوف تتفعل النافذة الأحدث منهم

طبعا سوف نحاول عمل مثال شامل للعمل في نهاية الدرس
والآن سوف ننتقل بكم إلى الدالة التالية

دالة WinActive

تستخدم هذه الدالة لمعرفة إذا كانت النافذة هي التي في الواجهة أو لا

شكل الدالة

شكل الدالة نفسه شكل الدالة السابقة يعني كي نتجنب التكرار سوف أضع المثال مباشرة
WinActive(“Untitled – Notepad”)
أو
WinActive(“[CLASS:Notepad]”)

ينطبق عليها نفس ما ينطبق على الدالة السابقة
إنما العمل يختلف
حيث هذه الدالة تمكننا من معرفة إذا كانت النافذة هي التي في الواجهة أو لا
ويمكن طبعا أن نستخدمها في أوامر شرطية كمثلا
if WinActive(“[CLASS:Notepad]”) then
msgBox(0, “نتيجة”, النافذة موجودة”)
else
msgBox(0, “نتيجة”, النافذة غير موجودة”)
endIf
هذا هو المثال البسيط على طريقة إستخدام هذه الدالة
والآن ننتقل إلى نتائج هذه الدالة

نتائج الدالة

نتيجتها نفس نتيجة الدالة السابقة
حيث عندما تكن النافذة في الواجهة النتيجة تكن رمز handle للنافذة, وإلا فالنتيجة تكن رقم 0

هذا هو عمل هذه الدالة البسيطة.

دالة WinClose

حيث تستخدم هذه الدالة لغلق نافذة مفتوحة
وهي سهلة جدا

شكل الدالة

شكل الدالة نفس الشكلين السابقين يعني يمكنك قراءة شكل الدالة الأولى وتطبيقه على كل الدوال التي سنذكرها اليوم إن شاء الله وإذا كان هناك أي إختلاف فأكيد سوف نذكره.
هذا مثال
Winclose(“Untitled – Notepad”)
أو
Winclose(“[CLASS:Notepad]”)

نتائج الدالة

عند النجاح قيمة النتيجة تكن الرقم 1 وعند الخطء تكن القيمة 0
وها قد إنتهينا من الدالة هذه
والآن ننتقل إلى دالة أخرى

دالة WinExists

تستخدم هذه الدالة لمعرفة إذا كانت النافذة موجودة أو لا

شكل الدالة

إن شكل هذه الدالة هو نفسه شكل الدوال السابقة أي المثال كالتالي
Winexists(“Untitled – Notepad”)
أو
Winexists(“[CLASS:Notepad]”)
طبعا هذه الدالة تستخدم عادي في الأوامر الشرطية فمثلا
if Winexists(“[CLASS:Notepad]”) then
msgBox(0, “نتيجة”, النافذة موجودة”)
else
msgBox(0, “نتيجة”, النافذة غير موجودة”)
endIf
هذا هو المثال البسيط على طريقة إستخدام هذه الدالة

نتائج الدالة

في حال كانت النافذة موجودة فالنتيجة تكن قيمتها الرقم 1
وإلا تكن القيمة 0

ملاحظة

في حال كانت النافذة مخفية هي تتعامل معها, يعني تتعرف عليها عادي وكأنها موجودة

دالة WinSetState

تستخدم هذه الدالة لتغيير حالة النافذة
حيث يمكننا التحكم فيها كما نريد
من إخفاء وإظهار وتصغير ….. إلخ
وهذه الدالة بسيطة جدا
فقط تحتاج نوع من التركيز

ملاحظة :
هناك دالة تستخدم لأخذ حالة النافذة, هذه سوف نتعرف عليها لاحقة لأنها تحتوي على بعض الإستعمالات التي لم نتطرق إليها بعد, لذا قررت أن أأخرها
على العموم لمن أراد أن يجرب التعامل معها فإسم الدالة
WinGetState

شكل الدالة

هذه الدالة تختلف على الدوال السابقة إختلاف بسيط, حيث إنها تحتوي على إعداد إضافي, وهو حالة النافذة التي نريد تحويلها إليها.
وشكل الدالة يكن كالتالي
WinSetState(“العنوان”, “النص”, “”الحالة”))
طبعا العنوان والنص هما تكلمنا عليهما في الأعلى فلا داعي للتكرار, أما الحالة فسوف نتطرق إليها الآن إن شاء الله تعالى
وسوف أضع الحالات المتوفرة في جدول لكي يسهل التعامل إن شاء الله تعالى.

الحالة رمزها ملاحظة إن وجدت
إخفاء النافذة @SW_HIDE
إظهار النافذة @SW_show
تصغير النافذة @SW_MINIMIZE
تكبير النافذة @SW_MAXIMIZE
ترجيع النافذة للحالة الإفتراضية @SW_RESTORE
تعطيل النافذة @SW_DISABLE
تفعيل النافذة @SW_ENABLE

وهنا مثال للتوضيح
WinSetState(“Untitled – Notepad”, “”, @sw_show)
WinSetState(“[class:notepad]”, “”, @sw_hide)
والآن ننتقل إلى نتائج هذه الدالة

نتائج الدالة

هذه الدالة تكن قيمة نتيجتها بعد المهمة كالتالي
في حال نجحت المهمة فالنتيجة تكن قيمتها الرقم 1, وإلا فالنتيجة تكن الرقم 0

ملاحظات

إخواني إن هذه المجموعة من الدوال ليست الوحيدة المتوفرة في اللغة ولاكن هي الأهم
فهناك دوال أخرى رائعة, وسوف أذكر لكم بعضها هنا بدون تفصيل

دالة WinSetTitle

تستخدم هذه الدالة لتغيير إسم النافذة
وشكلها هو كالتالي
WinSetTitle (“العنوان”, “النص”, “الإسم الجديد”)
قيمة نتيجتها تكن الرقم 1 في النجاح و الرقم 0 في حال الخطء

دالة WinWait

حيث تستخدم هذه الدالة لإيقاف عمل الأداة أو البرنامج الذي قمنا بتصميمه إلى غاية أن تتواجد نافذة ما
هي مفيدة في حال كنا نتعامل مع النوافذ
وشكلها يكن كالتالي
WinWait(“العنوان”, “النص”, أقصى “وقت”)
حيث أقصى وقت يستخدم لتحديد وقت في حال لم تتواجد النافذة خلال الوقت المحدد يقم بشكل تلقائي بمتابعة تطبيق الأوامر التالية
والوقت يكتب بالألف جزء من الثانية
حيث لكتابة ثانية واحدة يجب كتابة 1000 ولكتابة 10 ثوان فيجب كتابة 10000 … إلخ

دالة WinWaitClose

حيث تستخدم هذه الدالة لإيقاف عمل الأداة أو البرنامج الذي قمنا بتصميمه إلى أن يتم إغلاق النافذة
شكلها كالتالي
WinWaitClose (“العنوان”, “النص”, أقصى “وقت”)
وينطبق عليها ما ذكرناه في الدالة السابقة

دالة WinWaitNotActive

هذه الدالة تستخدم لإيقاف عمل البرنامج أو الأداة التي قمنا بتصميمها إلى غاية إختفاء النافذة من الواجهة
شكلها نفس شكل الدالة السابقة وينطبق عليها ما ينطبق على الدالة السابقة حيث هي كالتالي
WinWaitNotActive”العنوان”, “النص”, أقصى “وقت”

دالة WinKill)

حيث هذه الدالة هي شبيهة بدالة Winclose
إنما هذه تجبر النافذة على الإغلاق حتى لو لم ترضى, على عكس الدالة السابقة, وهذه عملتلي مشكلة الآن والله.
حيث عندما كنت أكتب الدرس العاشر قمت بتجربتها ولغبائي قمت بتجربتها على المفكرة, فأجبرته على الإغلاق وضاع عملي بالكامل هههههههه.

المهم شكلها يكن كالتالي
WinKill(“العنوان”, “النص”)
وينطبق عليها كل ما رأيناه في الدالة توأمها هههه

المثال الشامل


; أولا نقم بإستدعاء الملف الذي يحتوي على المتغيرات الخاصة برسائل المحاورة
#include <MsgBoxConstants.au3>

; نبدأ الآن بالعمل
; ملاحظة :
; إن هذه التعليقات لا تؤثر في عمل الكود, بل هي عادية
; سوف نعمل على المفكرة, لهذا أرجو حفظ كل أعمالكم عليها قبل تجربة المثال
; أولا دعونا نتعرف على إذا كانت المفكرة تعمل وإلا فسوف نقم بفتحها
if ProcessExists("notepad.exe") then
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "المفكرة تعمل بالفعل وسوف نقم بالتجارب على النسخة التي تعمل, لهذا يرجى حفظ كل أعمالكم عليها.")
else
run("notepad.exe")
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "تم تشغيل برنامج المفكرة.")
endIf
; دعونا ننتظر إلى أن تفتح نافذة المفكرة
WinWait("[class:notepad]", "", 3000)
; والآن دعونا نحول النافذة إلى الواجهة, وقبل هذا يجب أن نعرف إذا كانت النافذة في الواجهة أو لا
if WinActive("[class:notepad]", "") then
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "إن النافذة في الواجهة بالفعل.")
else
WinActivate("[class:notepad]", "")
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "تم وضع النافذة في الواجهة")
endIf
; والآن نعطيه أمر الإنتظار لبضع ثوان حتى يمكننا أن نلاحظ
sleep(3000)
; الآن نقم بإخفاء النافذة
WinSetState("[class:notepad]", "", @sw_hide)
; ننتظر لمدة معينة ثم نقم بإظهار النافذة
sleep(3000)
WinSetState("[class:notepad]", "", @sw_show)
; والآن نقم بوضع النافذة في الواجهة مرة أخرى
WinActivate("[class:notepad]", "")
; ثم نقم بغلق النافذة
Winclose("[class:notepad]", "")
; الآن نتأكد إذا كانت النافذة موجودة أو لا
if WinExists("[class:notepad]", "") then
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "النافذة موجودة")
else
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "النافذة غير موجودة")
endIf

أتمنا أن يكن المثال مبسط
ولأي سؤال أنا في الخدمة

خاتمة

أعزائي هذا ما استطعت أن أقدمه في هذا الدرس
فأرجو أن تعذروني على أي تقصير.
كما أرجو أن لا تؤاخذوني إذا كان الدرس طويل فهو مرتبط ولا يمكنني أن أقسمه لجزئين
كما أرجوكم لا تنسوني من دعائكم الصالح
وفضلا قمو بنشر الدورة حتى تعم الفائدة
أكرر لأقول
أنا بريء أمام الله عز وجل من كل من يستغل هذه الدروس في إيذاء الناس أو فعل ما يغضبه سبحانه وتعالى
إنما أنا أقدمها من باب المعرفة
ولكي نكن مستقلين جميعا في تعاملنا مع الحاسوب
كما لتطبيق أفكارنا على أرض الواقع
تقبلو تحياتي
وقبل أن أختم أحب أن أقدم لكم
رابط
الدرس الحادي عشر
الذي سيكن متوفر قريبا على الرابط السابق
أكرر وأرجوكم
لا تنسوني من دعائكم
والله أنا بالحاجة إليه
كما أرجو زيارة موقعنا وطرح أي إستفسار في منتدى لغة autoit
إليكم رابط الموقع
http://mx-blind.com/
ملاحظة :
لأي سؤال في الدورة إذا كان متعلق بأي درس من الدروس فيرجى طرح السؤال في تعليق في المنشور المتعلق بالدرس في المنتديات
وإلا بإمكانكم طرح السؤال في موضوع مستقل داخل منتدى اللغة

ومسك الختام السلام فالسلام عليكم ورحمة الله تعالى وبركاته

إليكم البرنامج الراءع في تحميل الفديوهات من اليوتيوب. 4K Video Downloader v4.4.10 silent by mahmoud.atef

بسم الله الرحمن الرحيم.
وبه نستعين.
والصلاة والسلام على خاتم المرسلين سيدنا محمد.
السلام عليكم ورحمة الله وبركاته.
أهلا وسهلا بكم أعضاء منتديات شؤون الكفيف العربي mx-blind المتابعين للتقنية.
يُطيبُ لنا اليوم بتقديم مشاركةٍ جديدة إلى حضراتكم.
برنامج تحميل الفيديوهات الأقوى،والأشهر على الإطلاق.
إنهُ
ال:4K Video Downloader
لا شك عزيزي القارئ.
أنك تحتاج يوميًا إلى تحميل فيديو ما.
سواء من على الyoutube أو على موقع فيديو ديليموشن.
أو حتى على الfacebook وخلافه من المواقع التي تقوم برفع مقاطع صوتية ومرئية.
وأيضا:
تريد في بعض الأحيان تحميل قائمة تشغيل كاملة على مرةٍ واحدة.
أو حتى قناه بأكملها بكل ما تحتويه من فيديوهات
ولا تجد البرنامج المناسب لهذه العملية
ولكن إنتها كل هذا
فمع برنامج 4K Video Downloader.
تم توفير كل هذه الميزات.
وتم حل هذه المشكلات
لكن يُعيبه شيء إنه غير مجاني ولكن الآن وجدنا لك الحل.
بل وقمنا بإنشائه صامت التثبيت كي لا تتعب أثناء التثبيت،وأثناء التفعيل.
عزيزي:
الآن صارَ لكل نواة نسخة لها.
بمعنى
نواة x32bit صارت لها نسخة مستقلة.
ونفس القصة تنطبقُ على نواة 64bit
الآن:

لمحة سريعة عن ال برنامج:

الاسم
4K Video Downloader
رقم الإصدار
4.4.10
وظيفته.
تحميل الفيديوهات.
الترخيص:
غير مجاني.
لكن مدموج مع التثبيت تفعيل له.
التوافقية:
يتوافق مع جميع أنظمة الwindows.
ومع قارئات الشاشةِ.
nvda
jaws.
الآن:

مع روابط التحميل.

لتحميل البرنامج لنوات x32 bit
اضغط هنا
ولتحميل البرنامج لنوات x64 bit
اضغط هنا
وفي الختام: لا نرجو من حضراتِكم إلا دعوة صالحة في ظَهْر الغيب.
مع تحيات أخوكم في الله محمود عاطف
وسَلام الله عليكم ورحمته وبركاته

عودة إلى دورة تعليم لغة autoit وإليكم الدرس التاسع

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

مقدمة

كما تعرفنا في الدرس السابق عن دوال تشغيل العمليات
وكنا قد تحدثنا مبسطا على كيفية تشغيل العمليات وما هي الطرق التي تتيحها لنا هذه اللغة داخليا للقيام بهذه المهمة.
وتحدثنا عن النتائج التي تعود لنا بها بعد أداء العملية
وتحدثنا عن رمز pid الفريد في كل عملية, حيث يتيح لنا التحكم فيها, وهذا الرمز هو رمز رقمي ينشء كلما قمنا بتشغيل عملية, يمكننا الحصول عليه بعدة طرق, طبعا يمكن التحكم في العملية من خلال إسم الملف التنفيذي, ولاكن هذا ليس جيد في حال كنت قد قمت بتشغيل عدة عمليات لنفس البرنامج.
لذا أتى رمز pid الفريد ليخلصنا من هذه العملية.
سوف نتعرف لاحقا عن كيفية الوصول إلى الرمز من خلال هذه اللغة.
مع الأسف لا يمكنني شرحه الآن لأن العملية تحتاج لأكواد وطرق لم نتطرق إليها بعد, لذا قررت تأجيله لكي لا تختلط علينا الأمور.

والآن دعونا نتعرف على دوال التحكم في العمليات,

دوال التحكم في العمليات

عزيزي سوف نتعرف على دالتين اليوم كمدخل
ألا وهما

  • ProcessClose
    لإيقاف عملية ما
  • ProcessExists
    للتحقق إذا كانت العملية موجودة أو لا

دعونا نبدء على بركة الله

دالة ProcessClose

تستخدم هذه الدالة لإنهاء عملية ما
وإستخدامها بسيط جدا وسوف نشرحها بالتفصيل إن شاء الله تعالى

شكل الدالة

تستخدم الدالة على الشكل التالي
ProcessClose(“إسم العملية أو رمز pid”)
يعني تحتوي على إعداد واحد وهو رمز pid أو إسم العملية متبوع بالإمتداد يعني كمثال

ProcessClose(“Notepad.exe”)
أو
ProcessClose(“1597”)
طبعا هذا كمثال, لا تجرب المثال الثاني لأنه يمكن أن يصادف عملية نظامية في جهازك.
أما المثال الأول فبإمكانك التجربة
بما أن شكل الدالة سهل جدا فلا داعي للتفصيل فيه كما إعتدنا.
فل نمر الآن مباشرة إلى النتائج التي تعطينا إياها هذه الدالة

نتائج الدالة

إن القيم التي تعطينا إياها الدالة بعد إنتهاء العمل هي كالتالي

  • رقم 1 في حال نجاح العملية
  • رقم صفر في حال لم تتمكن الدالة من إنهاء العملية لأي سبب من الأسباب

طبعا أيها الغوالي يمكنكم معرفة رمز الخطء من خلال @error الذي تعلمناه في الدرس السابق
وكي لا أطيل عليكم كثيرا لا داعي لذكر جميع رموز الخطء الناتجة عن هذه العملية للتفصيل أكثر يمكنكم القراءة عنها إما في موقع autoit الرسمي كما يمكنكم طلبها إن شئتم وسوف أقدمها لكم.

والآن سوف نمر للدالة الثانية ومن ثم أعرفكم على دالة أخرى حلوة يمكننا الإستفادة منها كي نقم بعمل مثال بسيط في نهاية الشرح

دالة ProcessExists

حيث تستخدم هذه الدالة للتحقق إذا ما كانت العملية نشطة أو لا
وبدون إطالة نمر لشكل الدالة

شكل الدالة

شكل الدالة يكن نفس شكل الدالة السابقة حيث
ProcessExists(“إسم العملية أو رمز pid”)
ورمز pid هو الرمز الفريد للعملية كما تحدثنا عنه أعلاه
طبعا إسم العملية مرفق بالإمتداد

ملاحظة :

إن هذه الدالة يمكننا إستخدامها في أمر شرطي كمثلا نقل
if ProcessExists(“notepad.exe”) then
msgBox(0, “تجربة”, “العملية نشطة”)
else
msgBox(0, “تجربة”, “العملية غير موجودة”)
endIf
وسوف نوضح ذالك في المثال

نتيجة الدالة

إن هذه الدالة تعطينة قيمتين بعد الإنتهاء وهما كالتالي

  • رمز pid للعملية في حال كانت العملية موجودة
  • رقم 0 في حال لم تكن العملية موجودة

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

فهي بنا للتعرف على هذه الدالة

دالة sleep

إن هذه الدالة بسيطة جدا
حيث إستخدامها يعطي مهلى نحن نحددها بين عملية وأخرى
كمثلا نريد تشغيل عملية ثم بعد 15 ثانية نقم بإغلاقها أو أخذ أي معلومة عنها
نمر بسرعة إلى شكل الدالة

شكل الدالة

شكل الدالة يكن كالتالي
sleep(“رقم أجزاء الثانية”)
حيث تستجيب هذه الدالة للأجزاء بالألف من الثانية
يعني لكي نعطي مهلة 1 ثانية علينا كتابة 1000
ولنعطي مهلة 10 ثوان فعلينا كتابة 10000
إلى آخره
هذا فقط ما تحتويه هذه الدالة البسيطة.

بعد أن أنهينا من شرح كل الدوال المخصصة لهذا اليوم سوف نعطي مثال شامل إن شاء الله

مثال

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


#include <MsgBoxConstants.au3>
;نقم أولا بفحص إذا كانت العملية تعمل أو لا
if ProcessExists("notepad.exe") then
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "العملية موجودة بالفعل")
exit
; حيث يعطينا رسالة إذا كانت موجودة تفيد بأنها موجودة ويطلع من منفذ الأوامر
else
; وإلا فيقم بتشغيل البرنامج
local $run = runWait("notepad.exe")
;ثم ينتظر ثانية
sleep(1000)
ثم يعطينا رسالة تفيد بتشغيل العملية
MSGBox($MB_OK+$MB_ICONINFORMATION+$MB_SYSTEMMODAL, "تجريب", "تم فتح البرنامج")
;بعد ذالك يقم بإنهاء العملية, أي يقم بغلق برنامج المفكرة
processClose("notepad.exe")
;ثم يطلع من منفذ الأوامر
exit
endIf

خاتمة

أعزائي هذا ما استطعت أن أقدمه في هذا الدرس
فأرجو أن تعذروني على أي تقصير.
كما أرجو أن لا تؤاخذوني إذا كان الدرس طويل فهو مرتبط ولا يمكنني أن أقسمه لجزئين
كما أرجوكم لا تنسوني من دعائكم الصالح
وفضلا قمو بنشر الدورة حتى تعم الفائدة
أكرر لأقول
أنا بريء أمام الله عز وجل من كل من يستغل هذه الدروس في إيذاء الناس أو فعل ما يغضبه سبحانه وتعالى
إنما أنا أقدمها من باب المعرفة
ولكي نكن مستقلين جميعا في تعاملنا مع الحاسوب
كما لتطبيق أفكارنا على أرض الواقع
تقبلو تحياتي
وقبل أن أختم أحب أن أقدم لكم
رابط
الدرس التاسع
الذي سيكن متوفر قريبا على الرابط السابق
أكرر وأرجوكم
لا تنسوني من دعائكم
والله أنا بالحاجة إليه
كما أرجو زيارة موقعنا وطرح أي إستفسار في منتدى لغة autoit
إليكم رابط الموقع
http://mx-blind.com/
ملاحظة :
لأي سؤال في الدورة إذا كان متعلق بأي درس من الدروس فيرجى طرح السؤال في تعليق في المنشور المتعلق بالدرس في المنتديات
وإلا بإمكانكم طرح السؤال في موضوع مستقل داخل منتدى اللغة

ومسك الختام السلام فالسلام عليكم ورحمة الله تعالى وبركاته