[3] - دورة الاوتوات "AutoIt" :::: اوامر + شروحات + دروس

الموضوع في 'منتدى البـرامــج العـامــة' بواسطة LINEZERO, بتاريخ ‏فبراير 10, 2011.

حالة الموضوع:
مغلق
  1. موريادي

    موريادي عضو شرف

    إنضم إلينا في:
    ‏أغسطس 20, 2007
    المشاركات:
    3,040
    الإعجابات المتلقاة:
    259
    نقاط الجائزة:
    870
    الإقامة:
    At Home
    برامج الحماية:
    Emsisoft
    نظام التشغيل:
    Windows 8
    أعجب بهذه المشاركة الأميرة المحتارة
  2. yones7x

    yones7x عضو شرف نجم المنتدى

    إنضم إلينا في:
    ‏سبتمبر 18, 2010
    المشاركات:
    10,474
    الإعجابات المتلقاة:
    3,944
    نقاط الجائزة:
    1,220
    الإقامة:
    الإمارات - دبي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    [1] (Win / Control) - مقدمة :: الجزء الأول

    [1] (Win / Control) - مقدمة :: الجزء الأول

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

    قبل شرح أوامر التحكم بالواجهات (Win / Control)

    سوف أعطيكم مقدمة بسيطة عنها


    فوائد هذه الأوامر:

    1- إمكانية التغيير في شكل واجهة (نافذة) موجودة أمامك

    2- المساعدة في إضفاء حركات وجماليات إضافية

    3- المساعدة في مشاريع مهمة:
    أ - التنصيب التلقائي (وليس الصامت)
    ب - برامج الحماية عبر كشف معلومات عن النوافذ
    جـ - تطبيقات ومشاريع أخرى كثيرة


    تكون صيغة أوامر Win هكذا عادة مع اختلاف المهام

    كود:
    Winxxxx(Title, Text, xxxx...etc)

    Title = عنوان النافذة التي تريدها (تكتب النص الذي في العنوان)

    Text = أي نص مكتوب في الواجهة أو النافذة وبإمكانك تركه فارغ ("")
    ولكن يفضل تكتبه إذا كنت تعمل على تنصيب تلقائي بسبب تشابه العناوين

    xxxx...etc = تختلف حسب نوع الأمر


    أما صيغة أوامر Control تكون هكذا عادة مع اختلاف المهام

    كود:
    Controlxxxx(Title, Text, ControlID, xxxx...etc)

    Title = عنوان النافذة

    Text = أي نص مكتوب في الواجهة

    ControlID = عنوان ورقم الكائن (زر أو نص.. الخ) في الواجهة وهذه سنتطرق لشرحها لاحقًا في الجزء الثاني

    xxxx...etc = تختلف حسب نوع الأمر


    البقية في الجزء الثاني :kmj-by0000 (72):
     
    hamza.moh.1995 و .: OMAR :. معجبون بهذا.
  3. yones7x

    yones7x عضو شرف نجم المنتدى

    إنضم إلينا في:
    ‏سبتمبر 18, 2010
    المشاركات:
    10,474
    الإعجابات المتلقاة:
    3,944
    نقاط الجائزة:
    1,220
    الإقامة:
    الإمارات - دبي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    [1] (Win / Control) - مقدمة :: الجزء الثاني

    [1] (Win / Control) - مقدمة :: الجزء الثاني

    بعدما عرفتم ماهية أوامر (Win / Control)

    سنشرح في هذا الجزء طريقة استخدام تسمية الويندوز للنوافذ والكائنات في الأوامر


    فمثلا عندما تتحكم بنافذة ما (واجهة) عليك إذا إدخال عنوانها حتى يتعرف عليها الأمر

    ولكن افترض أن هذه النافذة تغير عنوانها دائما كما هو الحال مع المتصفحات مثلا :openmouth:k:

    كيف إذًا بالإمكان التحكم في النوافذ أو الواجهة !

    الجواب عن هذا السؤال هو باستخدام التسمية الخفية الدائمة لهذه النوافذ (Class)


    فمثلا هذا الأمر يتحكم بنافذة عنوانها Windows Internet Explorer

    كود:
    Winxxx("Windows Internet Explorer", "",..etc)

    ونحن نعرف أن التسمية لهذا المتصفح عادة هكذا:

    Windows Internet Explorer - Title Of The Page

    Title Of The Page = عنوان الصفحة التي تتصفحها

    وهكذا لن يتعرف الأمر على المتصفح ولن يتحكم فيه مع اختلاف الصفحات وعناوينها

    فالأفضل تستخدم التسمية الخفية للنافذة

    بالصيغة التالية في خانة (Title):

    كود:
    Winx("[Class:xxxx]", "")


    [Class:xxxx] --- في خانة العنوان وانتبه دائمًا أن يكون بين علامتي تنصيص ""

    xxxx = اسم النافذة الخفي الدائم

    وينطبق الأمر كذلك على أوامر Control في خانة Title


    أما بالنسبة إلى ControlID في أوامر Control في هذه الصيغة يكون:

    كود:
    Controlx(Title, Text, "[Class:xxx1; Instance: xxx2]")

    [Class:xxx1; Instance: xxx2] --- في خانة الكنترول وانتبه دائمًا أن يكون بين علامتي تنصيص ""

    xxx1 = العنوان الخفي للكائنات في الواجهة ويكون عادة Button للأزرار وStatic للنصوص وقد يختلف

    xxx2 = رقم الزر أو النص أو الكائن في الواجهة


    السؤال هنا يطرح نفسه: كيف نخرج العنوان الخفي للنافذة وكائناتها ورقم الكائن؟

    الجواب: عبر استخدام أداة Autoit v3 Windows Info


    طريقة استخدام الأداة:

    1- افتح مجلد الأداة في قائمة ابدأ وابحث عنها أو ادخل هذا الأمر:

    كود:
    %ProgramFiles%\AutoIt3\Au3Info.exe


    2- اتبع شرح الصور:

    أ- اسحب الزر إلى الواجهة

    [​IMG]



    ب- بعد سحب الزر واختيار نافذة + كائن معين يظهر لك التالي:


    [​IMG]



    1- الإسم الخفي للنافذة أو الواجهة (وهو الاسم الخفي لـ Internet Explorer هنا)

    2- الإسم الخفي للكائن الذي تم التأشير عليه (وهو عرض الصفحة هنا)

    3- رقم الكائن (وهو الرقم 1)


    بعد قراءتك للبيانات الأعلاه تضع الأمر بهذا الشكل

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

    كود:
    Winx("[Class:IEFrame]", "",..etc)


    وإذا كان أمر التحكم بالكائنات يكون الشكل العام هكذا:

    كود:
    Controlx("[Class:IEFrame]", "", "[Class:Internet Explorer_Server; Instance:1]",..etc)


    ولا تنسوا دائما أن يكون الشكل العام للعنوان هكذا ويوضح في خانة العنوان (Title):

    كود:
    [Class:xxx]

    xxx = العنوان الخفي للنافذة ويظهر لك في أداة Windows Info في الرقم 1


    والشكل العام للكائنات هكذا ويوضع في خانة الكنترول (ControlID):

    كود:
    [Class:xxx1; Instance:xxx2]

    xxx1 = العنوان الخفي للكائن ويظهر لك في أداة Windows Info في الرقم 2

    xxx2 = الرقم للكائن ويظهر لك في أداة Windows Info في الرقم 3


    اعتذر عن الإطالة

    تم الدرس...
     
  4. waget

    waget زيزوومي مبدع

    إنضم إلينا في:
    ‏يناير 9, 2009
    المشاركات:
    1,367
    الإعجابات المتلقاة:
    81
    نقاط الجائزة:
    640
    الإقامة:
    K.S.A
    برامج الحماية:
    Microsoft Security Essentials
    نظام التشغيل:
    Windows 7
    [2] التفاعل مع النافذة .

    [2] التفاعل مع النافذة

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

    بداية راح نأخذ بعض الدوال السهله والمهمة في نفس الوقت .

    الدالة WinExists

    تقوم هذه الدالة بالتحقق من وجود النافذة .

    لايهم هل النافذة مصغره أو خلف النوافذ او النافذة الحالية . الداله فقط تتحقق هل النافذة موجودة .

    الصورة العامة :
    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    
    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    راح تتكرر معنا هذه المدخلات بإختلاف الدوال وعملها . وهي تقريباً هي ثابته . كما وضح يونس في الدرس السابق .

    المخرجات :

    إذا كانت النافذة غير موجودة ترجع الدالة 0
    إذا كانت النافذة موجودة ترجع الدالة 1

    مثال :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]IF[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:CalcFrame]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]524288[/i][/color] [color=#FF0000]+[/color] [color=#AC00A9][i]64[/i][/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][color=#9999CC]"النافذة موجودة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]524288[/i][/color] [color=#FF0000]+[/color] [color=#AC00A9][i]64[/i][/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][color=#9999CC]"النافذة غير موجودة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    
    الدالة : WinActive

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinActive.htm][color=#000090][i]WinActive[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    هذه الدالة تتحق من أن النافذة المحدده هي النافذة المفعله (أي التي فوق جميع النوافذ الحالية والتي يستطيع المستخدم التعامل معها )

    المدخلات : نفس مدخلات الدالة السابقة .

    المخرجات :

    في حالة أن النافذة غير مفعلة ترجع الدالة ب0
    في حالة أن النافذة مفعلة ترجع الدالة ب1
    مثال :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/Run.htm][color=#000090][i]run[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"mspaint.exe"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/Sleep.htm][color=#000090][i]Sleep[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]1000[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]IF[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]524288[/i][/color] [color=#FF0000]+[/color] [color=#AC00A9][i]64[/i][/color][color=#FF0000],[/color][color=#9999CC]"نافذة أداة الرسم"[/color][color=#FF0000],[/color][color=#9999CC]"النافذة مفعلة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]524288[/i][/color] [color=#FF0000]+[/color] [color=#AC00A9][i]64[/i][/color][color=#FF0000],[/color][color=#9999CC]"نافذة أداة الرسم"[/color][color=#FF0000],[/color][color=#9999CC]"النافذة غير مفعلة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    

    الدالة WinFlash :

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

    فالدالة تجعل النافذة تومض في شريط المهام (مهم للنافذة الغير مفعله ) .

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinFlash.htm][color=#000090][i]WinFlash[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color][color=#9999CC]"text"[/color] [color=#FF0000][,[/color]flashes [color=#FF0000][,[/color]delay[color=#FF0000]]]] )[/color]
    
    
    المدخلات :

    نفس المدخلات السابقه .إلا إنه يجود لدينا مدخلين إضافيين .

    flashes : (إختياري)عدد مرات الوميض ( الافتراضي هو 4 مرات)

    delay : فتره التوقف بين كل وميض وآخرى يحدد بmilliseconds جزء من الالف في الثانية الواحده بمعني 1000 = ثانية ( الافتراضي 500 أي نصف ثانية .)

    المخرجات : لايوجود .
    مثال :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]if[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#And][color=#0000FF]and[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Not][color=#0000FF]not[/color][/url][color=#FF0000]([/color][url=http://www.autoitscript.com/autoit3/docs/functions/WinActive.htm][color=#000090][i]WinActive[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000]))[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/WinFlash.htm][color=#000090][i]WinFlash[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][color=#AC00A9][i]4[/i][/color][color=#FF0000],[/color][color=#AC00A9][i]500[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
         [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]524288[/i][/color] [color=#FF0000]+[/color] [color=#AC00A9][i]64[/i][/color][color=#FF0000],[/color][color=#9999CC]"نافذة أداة الرسم"[/color][color=#FF0000],[/color][color=#9999CC]"النافذة غير موجودة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    
    الدالة WinActivate :

    عمل الدالة هو تفعيل نافذة معنية (جعل التركيز عليها حيث تكون فوق النوافذ الاخرى )

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinActivate.htm][color=#000090][i]WinActivate[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    
    المدخلات : نفس مدخلات الدالة الاولى .

    المخرجات :
    في حالة عدم إمكانية تفعيل النافذة (أي غير موجودة)ترجع الدالة ب0
    في حالة تفعيل النافذة ترجع الدالة بمقبض او مؤشر للنافذة (سنعرف فائدته عند الحاجة إلية) . وهو عباره عن رقم عشري .

    مثال :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]IF[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Not][color=#0000FF]Not[/color][/url][color=#FF0000]([/color][url=http://www.autoitscript.com/autoit3/docs/functions/WinActive.htm][color=#000090][i]WinActive[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000]))[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [url=http://www.autoitscript.com/autoit3/docs/functions/WinActivate.htm][color=#000090][i]WinActivate[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000])[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]Endif[/color][/url]
    
    


    الدالة WinClose

    هذه الدالة تقوم بإغلاق النافذة .

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinClose.htm][color=#000090][i]WinClose[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    
    المدخلات : نفس مدخلات الدالة الاولى

    المخرجات :
    إذا لم تتمكن الدالة من إغلاق النافذة ترجع ب0
    إذا أغلقت النافذة بنجاح ترجع 1

    مثال :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]IF[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000]))[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [url=http://www.autoitscript.com/autoit3/docs/functions/WinClose.htm][color=#000090][i]Winclose[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:MSPaintApp]"[/color][color=#FF0000])[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]Endif[/color][/url]
    
    


     
    أعجب بهذه المشاركة الأميرة المحتارة
  5. LINEZERO

    LINEZERO زيزوومي محترف

    إنضم إلينا في:
    ‏يوليو 23, 2007
    المشاركات:
    2,902
    الإعجابات المتلقاة:
    278
    نقاط الجائزة:
    820
    الإقامة:
    KSA-Dammam
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Mac OS
    شغل مرتب :kmj-by0000 (72):
     
    أعجب بهذه المشاركة yones7x
  6. yones7x

    yones7x عضو شرف نجم المنتدى

    إنضم إلينا في:
    ‏سبتمبر 18, 2010
    المشاركات:
    10,474
    الإعجابات المتلقاة:
    3,944
    نقاط الجائزة:
    1,220
    الإقامة:
    الإمارات - دبي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    [3] انتظار النافذة

    [3] انتظار النافذة

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


    أمر انتظار النافذة حتى تظهر وهي الدالة:

    WinWait

    ولا يهم إذا كانت النافذة مصغرة أم مكبرة أم مخفية ...الخ، المهم إن هذا الأمر يكشف عن وجودها


    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm][color=#000090][i]WinWait[/i][/color][/url] [color=#FF0000]([/color][color=#9999CC]"title"[/color][color=#FF0000][,[/color] [color=#9999CC]"text"[/color] [color=#FF0000][,[/color] timeout[color=#FF0000]]] )[/color]
    المدخلات:

    title = عنوان النافذة الحرفي، أو الـ Class الخاص بها

    text = أي نص موجود في النافذة وبإمكانك تركه فارغًا --> ""

    timeout = (اختياري) زمن الانتظار بـ الثانية وليست الملي ثانية (أي إذا ادخلت 5 يعني سيترك انتظار النافذة بعد 5 ثواني)

    ملاحظة: إذا لم تدخل أي شيء في خانة الـ timeout سينتظر الاوتوات إلى الأبد حتى تظهر النافذة


    المخرجات:

    إذا وضعت زمنًا محددًا:

    وانتهى الزمن قبل ظهور النافذة تخرج القيمة 0
    وإذا ظهرت النافذة قبل انتهاء الزمن تخرج قيمة الـ Hundle للنافذة


    إذا لم تضع زمنا محددًا: (للأبد)

    بما أن الأمر ينتظر للأبد أي إن القيمة 0 مستحيلة هنا لأنه يجب أن تظهر النافذة لتكمل الاداة الاوامر
    ولكن إذا ظهرت النافذة تخرج قيمة الـ Hundle للنافذة وتكمل الأوامر المتبقية أسفلها


    طبعا لن أشرح قيمة الـ Hundle لأنه يحتاج إلى تقدم أكبر في الـ Autoit v3 وشرح يختلف عن الأوامر العادية اختلافًا تامًّا


    مثال على انتظار ظهور الآلة الحاسبة لمدة 10 ثواني:

    كود:
    [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm][color=#000090][i]WinWait[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#AC00A9][i]10[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [color=#AC00A9][i]0[/i][/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"انتهى الزمن المحدد ولم تظهر النافذة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"ظهرت النافذة قبل انتهاء الزمن المحدد"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    مثال آخر على انتظار ظهور الآلة الحاسبة إلى الأبد:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm][color=#000090][i]WinWait[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"لقد ظهرت النافذة"[/color][color=#FF0000])[/color]


    أمر انتظار النافذة حتى تغلق (تصبح غير موجودة) وهي الدالة:

    WinWaitClose

    أي أنه يجب أن تكون النافذة غير موجودة أو تم إغلاقها


    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitClose.htm][color=#000090][i]WinWaitClose[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color] [color=#FF0000][,[/color] timeout[color=#FF0000]]] )[/color]
    المدخلات:

    نفس مدخلات الدالة WinWait


    المخرجات:

    نفس مخرجات الدالة WinWait


    مثال على انتظار إغلاق الآلة الحاسبة لمدة 10 ثواني:

    كود:
    [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitClose.htm][color=#000090][i]WinWaitClose[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#AC00A9][i]10[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [color=#AC00A9][i]0[/i][/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"انتهى الزمن المحدد وما زالت النافذة موجودة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"أغلقت النافذة قبل انتهاء الزمن المحدد"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    مثال آخر على انتظار إغلاق الآلة الحاسبة إلى الأبد:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitClose.htm][color=#000090][i]WinWaitClose[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"لقد أغلقت النافذة"[/color][color=#FF0000])[/color]


    أمر انتظار النافذة حتى تصبح مفعلة (فوق الجميع) وهي الدالة:

    WinWaitActive

    أي أنه من المهم أن تكون النافذة موجودة + مفعلة (فوق جميع النوافذ)


    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm][color=#000090][i]WinWaitActive[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color] [color=#FF0000][,[/color] timeout[color=#FF0000]]] )[/color]
    المدخلات:

    نفس مدخلات الدالة WinWait


    المخرجات:

    نفس مخرجات الدالة WinWait


    مثال على انتظار أن تكون الآلة الحاسبة مفعلة لمدة 10 ثواني:

    كود:
    [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm][color=#000090][i]WinWaitActive[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#AC00A9][i]10[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [color=#AC00A9][i]0[/i][/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"انتهى الزمن المحدد ولم تصبح النافذة مفعلة أو أنها ليست موجودة أصلًا"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"أصبحت النافذة مفعلة قبل انتهاء الزمن المحدد"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    مثال آخر على انتظار أن تصبح الألة الحاسبة مفعلة إلى الأبد:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitActive.htm][color=#000090][i]WinWaitActive[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"أصبحت النافذة مفعلة"[/color][color=#FF0000])[/color]


    أمر انتظار النافذة حتى تصبح غير مفعلة (أي فوقها نوافذ أو مصغرة) وهي الدالة:

    WinWaitNotActive

    أي أنه يجب أن تكون النافذة غير موجودة أو غير مفعلة (أحدهما)


    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitNotActive.htm][color=#000090][i]WinWaitNotActive[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color] [color=#FF0000][,[/color] timeout[color=#FF0000]]] )[/color]
    المدخلات:

    نفس مدخلات الدالة WinWait


    المخرجات:

    نفس مخرجات الدالة WinWait


    مثال على أن تكون الآلة الحاسبة غير موجودة أو غير مفعلة لمدة 10 ثواني:

    كود:
    [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitNotActive.htm][color=#000090][i]WinWaitNotActive[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#AC00A9][i]10[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [color=#AA0000]$A[/color] [color=#FF0000]=[/color] [color=#AC00A9][i]0[/i][/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"انتهى الزمن المحدد وما زالت النافذة مفعلة"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"أصبحت النافذة غير مفعلة أو غير موجودة قبل انتهاء الزمن المحدد"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    مثال آخر على أن تكون الألة الحاسبة غير مفعلة أو غير موجودة إلى الأبد:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWaitNotActive.htm][color=#000090][i]WinWaitNotActive[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[Class:CalcFrame]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"أصبحت النافذة غير مفعلة أو غير موجودة"[/color][color=#FF0000])[/color]


    اعتذر على الأمثلة المتشابهة ولكن أردت ذلك حتى تعرفوا الفرق وللمقارنة

    انتهى الدرس...
     
    أعجب بهذه المشاركة hamza.moh.1995
  7. waget

    waget زيزوومي مبدع

    إنضم إلينا في:
    ‏يناير 9, 2009
    المشاركات:
    1,367
    الإعجابات المتلقاة:
    81
    نقاط الجائزة:
    640
    الإقامة:
    K.S.A
    برامج الحماية:
    Microsoft Security Essentials
    نظام التشغيل:
    Windows 7
    [4] التلاعب بخصائص النافذة


    [4] التلاعب بخصائص النافذة

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

    في هذا الدرس إن شاء الله سنتعلم كيفية

    الاستعلام عن الخصائص والتعديل عليها .

    الدالة WinGetPos

    هذه الدالة تجلب لنا معلومات عن موضع النافذة على الشاشة + حجمها .

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetPos.htm][color=#000090][i]WinGetPos[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    المخرجات :

    في حالة وجود النافذة ترجع الدالة مصفوفة . بها ثلاث عناصر .

    العنصر الاول بها يحوي قيمة الموضع X لنافذة على سطح المكتب.
    العنصر الثاني يحوي قيمة الموضعY لنافذة على سطح المكتب.
    العنصر الثالث يحوي عرض النافذ .
    العنصر الرابع يحوي إرتفاع النافذة .

    في حالة عدم وجود النافذة ترجع الدالة بـ 0

    مثال :
    كود:
    [color=#AA0000]$WinPos[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetPos.htm][color=#000090][i]winGetPos[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]if[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/IsArray.htm][color=#000090][i]IsArray[/i][/color][/url][color=#FF0000]([/color][color=#AA0000]$WinPos[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]48[/i][/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][color=#9999CC]"X Pos : "[/color] [color=#FF0000]&[/color] [color=#AA0000]$WinPos[/color][color=#FF0000][[/color][color=#AC00A9][i]0[/i][/color][color=#FF0000]] &[/color] [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf][color=#FF33FF]@Crlf[/color][/url] [color=#FF0000]& _[/color]
                    [color=#9999CC]"Y Pos : "[/color] [color=#FF0000]&[/color] [color=#AA0000]$WinPos[/color][color=#FF0000][[/color][color=#AC00A9][i]1[/i][/color][color=#FF0000]] &[/color] [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf][color=#FF33FF]@crlf[/color][/url] [color=#FF0000]& _[/color]
                    [color=#9999CC]"width : "[/color] [color=#FF0000]&[/color][color=#AA0000]$WinPos[/color][color=#FF0000][[/color][color=#AC00A9][i]2[/i][/color][color=#FF0000]] &[/color] [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@crlf][color=#FF33FF]@crlf[/color][/url] [color=#FF0000]& _[/color]
                    [color=#9999CC]"height :"[/color] [color=#FF0000]&[/color][color=#AA0000]$WinPos[/color][color=#FF0000][[/color][color=#AC00A9][i]1[/i][/color][color=#FF0000]])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    [MARK="#FF0000"]ملاحظة : الدالة IsArray تتحقق هل المتغير المرسل يشير إلى مصفوفة . وترجع 1 إذا كان نعم والعكس 0[/MARK]

    [MARK="#FF0000"]ملاحظة : إذا كانت النافذة مصغره ستكون النتيجة رقم سالب يفضل قبل أخذ القيمة التأكد من عدم تصغيرها[/MARK]

    الدالة WinMove

    هذه الدالة تمكننا من تغيير موضع النافذة وحجمها .

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMove.htm][color=#000090][i]WinMove[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color][color=#FF0000],[/color] [color=#9999CC]"text"[/color][color=#FF0000],[/color] x[color=#FF0000],[/color] y [color=#FF0000][,[/color] width [color=#FF0000][,[/color] height [color=#FF0000][,[/color] speed[color=#FF0000]]]] )[/color]
    
    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    X : الموضع X لنافذة على سطح المكتب.
    Y : الموضع Y لنافذة على سطح المكتب.
    width : (إختياري)عرض النافذة .
    height :disappointed:إختياري)إرتفاع النافذة.
    speed : (إختياري) هذا المدخل يقبل قيمة من 1 (سريع)إلى 100 (بطيء)وهو لتحديد سرعه نقل النافذه إلى الموضع الجديد.

    المخرجات :
    في حالة النجاح ترجع الدالة ب مقبض النافذة .
    في حالة الفشل ترجع الدالة بـ 0 (النافذة غير موجودة )

    مثال :

    تغيير الموضع :
    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [url=http://www.autoitscript.com/autoit3/docs/functions/WinMove.htm][color=#000090][i]winmove[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][color=#AC00A9][i]100[/i][/color][color=#FF0000],[/color][color=#AC00A9][i]100[/i][/color][color=#FF0000],[/color][url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Default][color=#0000FF]Default[/color][/url][color=#FF0000],[/color][url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Default][color=#0000FF]Default[/color][/url][color=#FF0000],[/color][color=#AC00A9][i]20[/i][/color][color=#FF0000])[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    مثال 2 :
    تغيير الحجم والموضع ثابت .

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [url=http://www.autoitscript.com/autoit3/docs/functions/WinMove.htm][color=#000090][i]winmove[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Default][color=#0000FF]Default[/color][/url][color=#FF0000],[/color][url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Default][color=#0000FF]Default[/color][/url][color=#FF0000],[/color][color=#AC00A9][i]400[/i][/color][color=#FF0000],[/color][color=#AC00A9][i]200[/i][/color][color=#FF0000])[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    

    ملاحظات :

    موضع النافذة يعتمد على الاحداثي X , Y للشاشة حيث أن 0,0 يعني الزاوية اليسرى العليا للشاشة .

    الماكرو @DesktopHeightيرجع إرتفاع الشاشة الكلي .

    الماكرو @DesktopWidthيرجع بعرض الشاشة الكلي .


    الكلمة المحجوزة Defaultبعض الدوال لا نعرف القيمة الافتراضية لبعض المدخلات ونحتاج وضع قيمة للمدخل للوصول للمدخلات الاخرى هنا نضع
    هذه الكلمة لتفادي المشكلة .


    الدالة WinGetProcess

    الدالة ترجع برقم العملية الفريد PID للنافذة .

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetProcess.htm][color=#000090][i]WinGetProcess[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    

    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    المخرجات :

    في حالة وجود النافذة ترجع ب PID الخاص بعمليتها .

    في حالة عدم وجدها ترجع ب -1

    مثال :
    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [url=http://www.autoitscript.com/autoit3/docs/functions/ProcessClose.htm][color=#000090][i]ProcessClose[/i][/color][/url][color=#FF0000]([/color][url=http://www.autoitscript.com/autoit3/docs/functions/WinGetProcess.htm][color=#000090][i]WinGetProcess[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000]))[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    الدالة WinGetState

    هذه الدلة ترجع بحالة النافذة سنعرفها من خلال المخرجات .

    الصورة العامة :
    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetState.htm][color=#000090][i]WinGetState[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    المخرجات :

    النافذة موجودة : 1
    النافذة ظاهره : 2
    النافذة متاحة : 4
    النافذة مفعلة : 8
    النافذة في وضع التصغير : 16
    النافذة في وضع التكبير : 32

    النافذة غير موجودة : 0

    قلنا أن المخرجات قد تكون عده قيم من هذه مثلا : إذا كانت الدالة موجود + ظاهره + متاحه الدلة ترجع ب 7

    وإذا أردنا التحقق من حاله معينة نستخدم الدالة BitAND للتحقق . لماذا ؟ الدالة تجري العملية على مستوى البت .

    مثلا اردنا التحقق هل النافذة ظاهره . نحن نريد التحقق هل القيمه 2 موافقة للمخرج !!

    القيمة إثنين بـ Binary تساوي (010) والقيمة 7 تساوي (111) فلو أجرينا عليهما العملية AND المخرج سيكون (010) أي 2

    إذاكانت القيمة غير موافقه ناتج العملية يساوي 0

    مثال :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [color=#AA0000]$State[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetState.htm][color=#000090][i]WinGetState[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color]
    
        [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]if[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/BitAND.htm][color=#000090][i]BitAND[/i][/color][/url][color=#FF0000]([/color][color=#AA0000]$State[/color] [color=#FF0000],[/color] [color=#AC00A9][i]2[/i][/color] [color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
            [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]64[/i][/color][color=#FF0000]+[/color][color=#AC00A9][i]524288[/i][/color][color=#FF0000],[/color][color=#9999CC]"نافذة المفكرة"[/color] [color=#FF0000],[/color] [color=#9999CC]"النافذة ظاهره"[/color][color=#FF0000])[/color]
        [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    

    الدالة WinSetState

    الدالة تغير أو تعين حاله النافذة والحالات التي تضعها لا تخرج عن المعروفه من الدالة WinGetState

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetState.htm][color=#000090][i]WinSetState[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color][color=#FF0000],[/color] [color=#9999CC]"text"[/color][color=#FF0000],[/color] flag [color=#FF0000])[/color]
    
    المدخلات :


    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)
    flag : نضع هنا الحالة المراد تعيينها - تغييرها ..

    وهي واحده من الماكرو التالية :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_hide][color=#FF33FF]@SW_HIDE[/color][/url]  [color=#009933][i]; إخفاء النافذة[/i][/color]
    [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_show][color=#FF33FF]@SW_SHOW[/color][/url]  [color=#009933][i]; أظهار النافذة[/i][/color]
    [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_minimize][color=#FF33FF]@SW_MINIMIZE[/color][/url]  [color=#009933][i]; تصغير النافذة[/i][/color]
    [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_maximize][color=#FF33FF]@SW_MAXIMIZE[/color][/url]  [color=#009933][i]; تكبير النافذة[/i][/color]
    [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_restore][color=#FF33FF]@SW_RESTORE[/color][/url] [color=#009933][i]; إستعادة النافذة[/i][/color]
    [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_disable][color=#FF33FF]@SW_DISABLE[/color][/url]  [color=#009933][i]; تعطيل النافذة[/i][/color]
    [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_enable][color=#FF33FF]@SW_ENABLE[/color][/url]  [color=#009933][i]; تفعيل النافذة[/i][/color]
    
    
    المخرجات :

    إذا تمت العملية بنجاح ترجع الدالة ب1
    إذا فشلت ترجع بـ 0

    مثال

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]if[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/BitAND.htm][color=#000090][i]BitAND[/i][/color][/url][color=#FF0000]([/color][url=http://www.autoitscript.com/autoit3/docs/functions/WinGetState.htm][color=#000090][i]WinGetState[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000]),[/color][color=#AC00A9][i]2[/i][/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]then[/color][/url]
    
        [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetState.htm][color=#000090][i]WinSetState[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_maximize][color=#FF33FF]@SW_MAXIMIZE[/color][/url][color=#FF0000])[/color]
        [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]endif[/color][/url]
    
    

     
  8. waget

    waget زيزوومي مبدع

    إنضم إلينا في:
    ‏يناير 9, 2009
    المشاركات:
    1,367
    الإعجابات المتلقاة:
    81
    نقاط الجائزة:
    640
    الإقامة:
    K.S.A
    برامج الحماية:
    Microsoft Security Essentials
    نظام التشغيل:
    Windows 7
    [5]جلب معلومات النوافذه

    السلام عليكم ورحمة الله ..

    [5]جلب معلومات النوافذه


    الدالة WinGetTitle

    هذه الدالة ترجع ب العنوان الكامل للنافذة .

    الصور العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetTitle.htm][color=#000090][i]WinGetTitle[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    
    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    المخرجات :

    في حالة النجاح : ترجع الدالة عنوان النافذة ..

    في حالة الفشل ترجع بـ 0 (النافذة غير موجوده)
    مثال :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]then[/color][/url]
        
        [color=#AA0000]$title[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetTitle.htm][color=#000090][i]WinGetTitle[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000])[/color]
        
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color][color=#9999CC]""[/color][color=#FF0000],[/color][color=#AA0000]$title[/color][color=#FF0000])[/color]
        
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    
    

    الدالة WinGetText


    الدالة تقوم بإرجاع النص الموجود في النافذة .

    الصور العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetText .htm][color=#000090][i]WinGetText [/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    
    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    المخرجات :

    في حالة النجاح : ترجع الدالة عنوان النافذة ..

    في حالة الفشل ترجع بـ 0 (النافذة غير موجوده)

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
        [color=#AA0000]$Text[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetText.htm][color=#000090][i]WinGetText[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#AA0000]$Text[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    
    الدالة WinGetHandle

    الدالة ترجع بمقبض أو مؤشر للنافذة ..

    الفائدة :

    1) يمكننا إرسال المتغير الذي يحمل قيمة المقبض إلى أي دالة من دوال النوافذ أو حتى الكنترول .

    طبعاً توضع القيمة مكان المدخل titel . أي أنها طريقة أخرى لوضع القيمة للمدخل title

    2)يمكننا إرسال المتغير الذي يحمل قيمة المقبض إلي أي من دوال win32 API التي تتعامل مع النوافذ . والتي لاتقبل إرسال عنوان النافذة .

    الصورة العامة :
    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm][color=#000090][i]WinGetHandle[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    
    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    المخرجات :

    في حالة النجاح : مقبض أو مؤشر النافذة .
    في حالة الفشل : نص فارغ "" .

    مثال (1) :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [color=#AA0000]$hwin[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm][color=#000090][i]WinGetHandle[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
        [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetState.htm][color=#000090][i]WinSetState[/i][/color][/url][color=#FF0000]([/color][color=#AA0000]$hwin[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@sw_disable][color=#FF33FF]@SW_DISABLE[/color][/url][color=#FF0000])[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    
    
    
    مثال (2) :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm##include][color=#F000FF][i]#include[/i][/color][/url] [color=#9999CC]<WinAPI.au3>[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [color=#AA0000]$hwin[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm][color=#000090][i]WinGetHandle[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
        [url=http://dundats.mvps.org/help/html/libfunctions/_winapi_enablewindow.htm][color=#808080][i]_WinAPI_EnableWindow[/i][/color][/url][color=#FF0000]([/color][color=#AA0000]$hwin[/color][color=#FF0000],[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#False][color=#0000FF]False[/color][/url][color=#FF0000])[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    
    
    
    ملاحظة 1 :

    الدالة _WinAPI_EnableWindow
    تأخذ مدخلين الاول مقبض النافذة أو الكنترول والثاني الحالة المراد تطبيقها وهو True أي تمكين النافذة
    أو الكنترول أو False لتعطيل النافذة أو الكنترول .



    الدالة WinGetClientSize :

    نعلم أن الدالة WinGetPos ترجع في المصفوفة قيمتي الطول والعرض للنافذة ..

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

    أي ترجع طول وعرض المحتويات فقط . الصورة التالية توضح أكثر :

    [​IMG]

    الصورة العامة :

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetClientSize.htm][color=#000090][i]WinGetClientSize[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]
    
    المدخلات :

    title : نضع فيه عنوان النافذة أو الClass تبعها إذا كنا سنتبع الاسلوب المتقدم .
    text : نص تحتوي علية النافذة . (إختياري)

    المخرجات :

    في حالة النجاح ترجع بصفوفه بها عنصرين العنصر 0 يمثل العرض و 1 يمثل الطول

    في حالة الفشل ترجع بـ 0 .

    مثال :
    كود:
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
    
        [color=#AA0000]$size[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinGetClientSize.htm][color=#000090][i]WinGetClientSize[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
        [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]0[/i][/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"Width : "[/color] [color=#FF0000]&[/color] [color=#AA0000]$size[/color][color=#FF0000][[/color][color=#AC00A9][i]0[/i][/color][color=#FF0000]] & _[/color]
                [color=#9999CC]" Height : "[/color] [color=#FF0000]&[/color] [color=#AA0000]$size[/color][color=#FF0000][[/color][color=#AC00A9][i]1[/i][/color][color=#FF0000]])[/color]
    
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
    
    
     
  9. yones7x

    yones7x عضو شرف نجم المنتدى

    إنضم إلينا في:
    ‏سبتمبر 18, 2010
    المشاركات:
    10,474
    الإعجابات المتلقاة:
    3,944
    نقاط الجائزة:
    1,220
    الإقامة:
    الإمارات - دبي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    [6] تغيير حالة النوافذ

    السلام عليكم ورحمة الله وبركاته...

    [6] تغيير حالة النوافذ

    الدالة WinKill:

    هذه الدالة تقوم بقتل (إجبار الإغلاق) للنافذة المطلوبة وهي أقوى من الدالة WinClose

    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinKill.htm][color=#000090][i]WinKill[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color] [color=#FF0000][,[/color] [color=#9999CC]"text"[/color][color=#FF0000]] )[/color]

    المدخلات:

    title : تضع عنوان النافذة أو الـ Class الخاص بها

    text : أي نص يوجد في النافذة


    المخرجات:

    تخرج القيمة 1 إذا أغلقت النافذة بنجاح

    تخرج القيمة 0 إذا لم تغلق النافذة أو النافذة غير موجودة


    مثال: (يعتمد على الدروس السابقة :kmj-by0000 (72):)

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/Run.htm][color=#000090][i]Run[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"Notepad.exe"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]48[/i][/color][color=#FF0000]+[/color][color=#AC00A9][i]262144[/i][/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000],[/color] [color=#9999CC]"سيتم إغلاق النافذة بعد هذه الرسالة"[/color][color=#FF0000])[/color]
    [color=#AA0000]$CheckKill[/color] [color=#FF0000]=[/color] [url=http://www.autoitscript.com/autoit3/docs/functions/WinKill.htm][color=#000090][i]WinKill[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Switch][color=#0000FF]Switch[/color][/url] [color=#AA0000]$CheckKill[/color]
        [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Case][color=#0000FF]Case[/color][/url] [color=#AC00A9][i]1[/i][/color]
            [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]64[/i][/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000],[/color] [color=#9999CC]"تم إغلاق النافذة بنجاح"[/color][color=#FF0000])[/color]
        [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Case][color=#0000FF]Case[/color][/url] [color=#AC00A9][i]0[/i][/color]
            [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#If][color=#0000FF]If[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/functions/WinExists.htm][color=#000090][i]WinExists[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Then][color=#0000FF]Then[/color][/url]
                [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]16[/i][/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000],[/color] [color=#9999CC]"هناك مشكلة ما تعترض إغلاق النافذة"[/color][color=#FF0000])[/color]
            [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
                [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]16[/i][/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000],[/color] [color=#9999CC]"النافذة غير موجودة"[/color][color=#FF0000])[/color]
            [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf][color=#0000FF]EndIf[/color][/url]
        [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Case][color=#0000FF]Case[/color][/url] [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#Else][color=#0000FF]Else[/color][/url]
            [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]16[/i][/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000],[/color] [color=#9999CC]"الخطأ غير معروف"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/keywords.htm#EndSwitch][color=#0000FF]EndSwitch[/color][/url]

    الدالة WinMenuSelectItem:

    هذه الدالة تقوم بعمل رائع للغاية وهو اختيار من قائمة الـ tab بواسطة ضغطات الكترونية

    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMenuSelectItem.htm][color=#000090][i]WinMenuSelectItem[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color][color=#FF0000],[/color] [color=#9999CC]"text"[/color][color=#FF0000],[/color] [color=#9999CC]"item"[/color] [color=#FF0000][,[/color] [color=#9999CC]"item"[/color] [color=#FF0000][,[/color] [color=#9999CC]"item"[/color] [color=#FF0000][,[/color] [color=#9999CC]"item"[/color] [color=#FF0000][,[/color] [color=#9999CC]"item"[/color] [color=#FF0000][,[/color] [color=#9999CC]"item"[/color] [color=#FF0000][,[/color] [color=#9999CC]"item"[/color][color=#FF0000]]]]]]] )[/color]

    المدخلات:

    title : نفس الدالة السابقة

    text : نفس الدالة السابقة

    item... الخ: ترتيب الضغطات (ساشرحه بالتفصيل) (مثلا: ملف > حفظ باسم)


    المخرجات:

    تخرج القيمة 1 إذا نجحت في الضغطات

    تخرج القيمة 0 إذا كانت هناك ضغطة غير صحيحة أو غير موجودة


    مثال صورة: (الخطوات في صورة لبرنامج Scite الخاص بعرض أكواد Autoit)

    [​IMG]


    النتيجة: (عرض نافذة حفظ باسم)

    [​IMG]


    تطبيق للمثال: (جرب الكود أثناء وجود نافذة محرر أكواد autoit) (الـ Scite)

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm][color=#000090][i]WinWait[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:SciTEWindow]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetOnTop.htm][color=#000090][i]WinSetOnTop[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:SciTEWindow]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#AC00A9][i]1[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMenuSelectItem.htm][color=#000090][i]WinMenuSelectItem[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:SciTEWindow]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"&File"[/color][color=#FF0000],[/color] [color=#9999CC]"Save &As..."[/color][color=#FF0000])[/color]

    انتبه إلى أهمية (&) فهي توضع في كثير من أزرار tabs لتفعيل زر alt ولمعرفة مكانها في النص

    اضغط alt أثناء تجربتك للخطوات وسترى ظهور خط أسفل النص ضع مكانها (&) في الكود

    بعد تجربتك للكود ستلاحظ ظهور نافذة حفظ باسم وهذا يؤكد نجاح الأمر


    الدالة WinMinimizeAll:

    هذه أسهل الدوال التي يتم استخدامها وعملها هو تصغير كافة النوافذ في ويندوز

    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMinimizeAll.htm][color=#000090][i]WinMinimizeAll[/i][/color][/url] [color=#FF0000](  )[/color]

    المدخلات: لا يوجد

    المخرجات: لا يوجد


    مثال بسيط:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMinimizeAll.htm][color=#000090][i]WinMinimizeAll[/i][/color][/url][color=#FF0000]()[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm][color=#000090][i]MsgBox[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]64[/i][/color][color=#FF0000]+[/color][color=#AC00A9][i]262144[/i][/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000],[/color] [color=#9999CC]"تم تصغير كافة النوافذ"[/color][color=#FF0000])[/color]

    الدالة WinMinimizeAllUndo:

    هذه الدالة تعكس الدالة السابقة فقط إذا إنها تقوم بإعادة النوافذ المصغرة نتيجة الدالة السابقة

    أما النوافذ التي صغرتها بنفسك فإنه لا يتدخل بها

    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMinimizeAllUndo.htm][color=#000090][i]WinMinimizeAllUndo[/i][/color][/url] [color=#FF0000](  )[/color]

    المدخلات: لا يوجد

    المخرجات: لا يوجد


    مثال:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMinimizeAll.htm][color=#000090][i]WinMinimizeAll[/i][/color][/url][color=#FF0000]()[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/ToolTip.htm][color=#000090][i]ToolTip[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"تم تصغير كافة النوافذ، سيتم إعادتها بعد 3 ثوان"[/color][color=#FF0000],[/color] [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@desktopwidth][color=#FF33FF]@DesktopWidth[/color][/url][color=#FF0000]/[/color][color=#AC00A9][i]2[/i][/color][color=#FF0000],[/color] [url=http://www.autoitscript.com/autoit3/docs/macros.htm#@desktopheight][color=#FF33FF]@DesktopHeight[/color][/url][color=#FF0000]/[/color][color=#AC00A9][i]2[/i][/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000],[/color] [color=#AC00A9][i]2[/i][/color][color=#FF0000],[/color] [color=#AC00A9][i]2[/i][/color][color=#FF0000]+[/color][color=#AC00A9][i]1[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/Sleep.htm][color=#000090][i]Sleep[/i][/color][/url][color=#FF0000]([/color][color=#AC00A9][i]3000[/i][/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinMinimizeAllUndo.htm][color=#000090][i]WinMinimizeAllUndo[/i][/color][/url][color=#FF0000]()[/color]

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


    مع تحياتي لكم
     
  10. yones7x

    yones7x عضو شرف نجم المنتدى

    إنضم إلينا في:
    ‏سبتمبر 18, 2010
    المشاركات:
    10,474
    الإعجابات المتلقاة:
    3,944
    نقاط الجائزة:
    1,220
    الإقامة:
    الإمارات - دبي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    [7] التغيير في النوافذ

    السلام عليكم ورحمة الله وبركاته....

    [7] التغيير في النوافذ

    الدالة WinSetOnTop:

    هذه الدالة تقوم بإجبار النافذة أن تكون فوق الجميع (نفس خاصية إدارة المهام Task Manager)

    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetOnTop.htm][color=#000090][i]WinSetOnTop[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color][color=#FF0000],[/color] [color=#9999CC]"text"[/color][color=#FF0000],[/color] flag [color=#FF0000])[/color]

    المدخلات:

    title : عنوان النافذة أو الـ Class الخاص بها

    text : أي نص في النافذة

    flag : القيمة 1 تعني جعل النافذة فوق الجميع دائما

    القيمة 0 تعطيل خاصية فوق الجميع


    المخرجات:

    تخرج القيمة 1 إذا نجحت الدالة

    تخرج القيمة 0 إذا كانت الدالة غير موجودة


    مثال:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/Run.htm][color=#000090][i]Run[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"Notepad.exe"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm][color=#000090][i]WinWait[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetOnTop.htm][color=#000090][i]WinSetOnTop[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#AC00A9][i]1[/i][/color][color=#FF0000])[/color]

    الدالة WinSetTitle:

    هذه الدالة تقوم بتغيير عناوين النوافذ

    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetTitle.htm][color=#000090][i]WinSetTitle[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color][color=#FF0000],[/color] [color=#9999CC]"text"[/color][color=#FF0000],[/color] [color=#9999CC]"newtitle"[/color] [color=#FF0000])[/color]
    المدخلات:

    title : عنوان النافذة أو الـ Class الخاص بها

    text : أي نص في النافذة

    newtitle : العنوان الجديد (ملاحظة: لا يمكن تغيير الـ Class فهو دائم)


    المخرجات:

    نفس الدالة السابقة (WinSetOnTop)


    مثال:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/Run.htm][color=#000090][i]Run[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"Notepad.exe"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm][color=#000090][i]WinWait[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetTitle.htm][color=#000090][i]WinSetTitle[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"yones7x - ZYZOOM.ORG"[/color][color=#FF0000])[/color]

    الدالة WinSetTrans:

    هذه تعتبر من الدوال الجمالية حيث تقوم بإضفاء شفافية على النوافذ

    الصورة العامة:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetTrans.htm][color=#000090][i]WinSetTrans[/i][/color][/url] [color=#FF0000]([/color] [color=#9999CC]"title"[/color][color=#FF0000],[/color] [color=#9999CC]"text"[/color][color=#FF0000],[/color] transparency [color=#FF0000])[/color]

    المدخلات:

    title : عنوان النافذة أو الـ Class الخاص بها

    text : أي نص بالنافذة

    transparency : تدرج الشفافية من الصفر (غير ظاهر، مخفي) إلى 255 (غير شفاف)


    المخرجات:

    النجاح = أي قيمة غير الصفر (عادة تكون 1)

    الفشل أو عدم وجود نافذة = الصفر (0)


    مثال:

    كود:
    [url=http://www.autoitscript.com/autoit3/docs/functions/Run.htm][color=#000090][i]Run[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"Notepad.exe"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinWait.htm][color=#000090][i]WinWait[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/WinSetTrans.htm][color=#000090][i]WinSetTrans[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"[CLASS:Notepad]"[/color][color=#FF0000],[/color] [color=#9999CC]""[/color][color=#FF0000],[/color] [color=#9999CC]"170"[/color][color=#FF0000])[/color]
    [url=http://www.autoitscript.com/autoit3/docs/functions/Send.htm][color=#000090][i]Send[/i][/color][/url][color=#FF0000]([/color][color=#9999CC]"النافذة شفافة، أليس كذلك؟"[/color][color=#FF0000])[/color]

    أتمنى أن يكون هذا الدرس الختامي لدروس Win قد أعجبكم

    ويسرني أن أعلن انتهاء دروس دوال Win

    وسننتقل إلى دوال أخرى بإذن الله

    مع تحياتي لكم :openmouth:k:
     
  11. yones7x

    yones7x عضو شرف نجم المنتدى

    إنضم إلينا في:
    ‏سبتمبر 18, 2010
    المشاركات:
    10,474
    الإعجابات المتلقاة:
    3,944
    نقاط الجائزة:
    1,220
    الإقامة:
    الإمارات - دبي
    برامج الحماية:
    Kaspersky
    نظام التشغيل:
    Windows 10
    إضافات: فك الملفات المضغوطة بأنواعها باستخدام autoit

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


    متطلبات الدرس:

    1- ملف rar.exe الخاص بالبرنامج WinRar
    لتحميله من هنا: Rar.exe
    أو إذا كنت مثبت برنامج WinRar، فاذهب إلى المجلد الخاص به
    وانسخ الملف rar.exe منه إلى جانب ملف au3 (سكربت اوتوات)
    ملاحظة: لا تعد تسمية الملف إلى اسم آخر

    2- برنامج Autoit
    حمله من الدورة (تجده في الفهرس)


    في البداية نبدأ بتشغيل الدوس لقراءة تعليمات ملف rar.exe

    اضغط ابدأ | Start > تشغيل | Run أو بحث | Search > ثم اكتب:

    كود:
    cmd.exe
    بعد تشغيل الدوس

    شغل الملف rar.exe عن طريق وضع مساره كاملا في الدوس

    ستظهر لك هذه الصورة:

    [​IMG]


    طبعا تلاحظون أن هذا الملف الصغير يحتوي على أوامر كثيرة

    ومستحيل أن اشرحها كاملة << استخدموا العم جوجل + اسألوا عنها في دورة الـ Dos


    طبعا كما لاحظتم أيضا فإن الصيغة العامة للأمر في الدوس هو:

    كود:
    rar <command> -<switch 1> -<switch N> <archive> <files...> <@listfiles...> <path_to_extract\>
    command = الامر

    -switch = اللواحق وهي تمثل إعدادات الامر مثل الموافقة والاستبدال ووضع كلمة سر...الخ، ويجب أن تبدأ بـ (-)

    achive = الملف المضغوط

    files = الملفات (في حالة ضغط على الملفات في ملف مضغوط)

    @listfiles = قائمة الملفات

    path_to_extract = مجلد الاستخراج


    والصيغة العامة له في الاوتوات هي نفسها عدا إنه يجب وضعه داخل أمر Run لتشغيل ملفات exe



    في هذا الدرس ساشرح فقط الاستخراج (الأمر: x)

    ساستخدم أمر Run لتفعيل أمر الاستخراج

    وأفضّل أمر RunWait حتى ينتهي الاستخراج ولا تحصل مشاكل في حال اردت عمل شيء بالملف المستخرج

    + إنه لن أقوم بشرح تفصيلات أمر الاستخراج لانها دورة للمبتدئين :kmj-by0000 (72):


    الصيغة العامة للدالة النهائية للإستخراج:

    كود:
    RunWait(rar.exe x -o+ -y <rarfile> <folderpath>)
    rar.exe = اسم الملف وكما نلاحظ إنه بجانب الأداة

    x = أمر الاستخراج

    o = لاحقة الأمر x (الاستخراج)، فائدتها هي تشغيل خاصية الاستبدال (مهم للإستخراج الصامت)
    حيث: +، تعني استبدال الملف إن وجد بالجديد | -، تعني عدم الاستبدال

    y = لاحقة الموافقة على كل الأسئلة التي تطرح للاستخراج
    ومنها سؤال الاستبدال أعلاه (تفيد التأكيد) :d: (مهم للإستخراج الصامت)

    rarfile = مسار الملف المضغوط (rar، zip... الخ)

    folderpath = مسار مجلد الذي سيتم الاستخراج إليه


    مثال نموذجي (انصح باستخدامه):

    كود:
    [URL="http://www.autoitscript.com/autoit3/docs/functions/FileInstall.htm"][COLOR=#000090][I]FileInstall[/I][/COLOR][/URL][COLOR=#ff0000]([/COLOR][COLOR=#9999cc]"rar.exe"[/COLOR][COLOR=#ff0000],[/COLOR] [URL="http://www.autoitscript.com/autoit3/docs/macros.htm#@tempdir"][COLOR=#ff33ff]@TempDir[/COLOR][/URL][COLOR=#ff0000]&[/COLOR][COLOR=#9999cc]"\rar.exe"[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#ac00a9][I]1[/I][/COLOR][COLOR=#ff0000])[/COLOR] [COLOR=#009933][I];أمر دمج الملف المساعد بالبرنامج الخاص بك واستخراجه إلي المجلد المؤقت[/I][/COLOR]
    [COLOR=#aa0000]$ArchivePath[/COLOR] [COLOR=#ff0000]=[/COLOR] [URL="http://www.autoitscript.com/autoit3/docs/macros.htm#@desktopdir"][COLOR=#ff33ff]@DesktopDir[/COLOR][/URL][COLOR=#ff0000]&[/COLOR][COLOR=#9999cc]"\example.rar"[/COLOR] [COLOR=#009933][I];مسار الملف المضغوط، بإمكانك تغييره للمسار الذي تريده[/I][/COLOR]
    [COLOR=#aa0000]$FolderPath[/COLOR] [COLOR=#ff0000]=[/COLOR] [URL="http://www.autoitscript.com/autoit3/docs/macros.htm#@desktopdir"][COLOR=#ff33ff]@DesktopDir[/COLOR][/URL] [COLOR=#009933][I];مسار مجلد الاستخراج، بإمكانك تغيير للمسار الذي تريده[/I][/COLOR]
    [URL="http://www.autoitscript.com/autoit3/docs/functions/RunWait.htm"][COLOR=#000090][I]RunWait[/I][/COLOR][/URL][COLOR=#ff0000]([/COLOR][URL="http://www.autoitscript.com/autoit3/docs/macros.htm#@tempdir"][COLOR=#ff33ff]@TempDir[/COLOR][/URL][COLOR=#ff0000]&[/COLOR][COLOR=#9999cc]"\rar.exe x -o+ -y "[/COLOR][COLOR=#ff0000]&[/COLOR][COLOR=#aa0000]$ArchivePath[/COLOR][COLOR=#ff0000]&[/COLOR][COLOR=#9999cc]" "[/COLOR][COLOR=#ff0000]&[/COLOR][COLOR=#aa0000]$FolderPath[/COLOR][COLOR=#ff0000])[/COLOR]
    [URL="http://www.autoitscript.com/autoit3/docs/functions/FileDelete.htm"][COLOR=#000090][I]FileDelete[/I][/COLOR][/URL][COLOR=#ff0000]([/COLOR][URL="http://www.autoitscript.com/autoit3/docs/macros.htm#@tempdir"][COLOR=#ff33ff]@TempDir[/COLOR][/URL][COLOR=#ff0000]&[/COLOR][COLOR=#9999cc]"\rar.exe"[/COLOR][COLOR=#ff0000])[/COLOR] [COLOR=#009933][I];حذف الملف المساعد من الملف المؤقت[/I][/COLOR]

    بإمكانكم التعديل على المثال للإستفادة منه


    مع تحياتي لكم :openmouth:k:
     
    أعجب بهذه المشاركة ocab
  12. .: Mr.Ali :.

    .: Mr.Ali :. زيزوومي محترف

    إنضم إلينا في:
    ‏يونيو 12, 2011
    المشاركات:
    1,574
    الإعجابات المتلقاة:
    423
    نقاط الجائزة:
    720
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 8
    FileOpenDialog | دالة فتح مستعرض الملفات

    [​IMG]

    .: الصيغة الاساسية للدالة :.

    كود PHP:
    FileOpenDialog "title""init dir""filter" [, options [, "default name" [, hwnd]]] )  
    هناك ثلاث وسيطات اجبارية وثلاث اخرى اختيارية

    الاجبارية

    title = عنوان النافذة
    int dir = اول مجلد يظهر في نافذة فتح الملفات
    filter = صيغ الملفات المراد فتحها

    الاختيارية

    option = خيارات اضافية وهي 4 خيارات ( 1 , 2 ,4 ,8 ) >> شرح الخيارات في الاسفل
    default name = اسم الملف الافتراضي .. يكون مكتوب في خانة اسم الملف >> القيمة الافتراضية لهذه الوسيطة = "" >> فراغ
    hwnd = متغير يشير الى النافذة الرئيسية لبرنامجك .. >> سيتم توضيحه في الاسفل
    =====

    الاجبارية

    title = عنوان النافذة

    راجع رقم 1 في الصورة أول المشاركة

    كود PHP:
    FileOpenDialog "File Open", @DesktopDir"Text Files(*.txt)" )  
    ركز على خانة الـ title والباقي بعد شوي
    النتيجة

    [​IMG]

    ==

    int dir = اول مجلد يظهر في نافذة فتح الملفات

    راجع رقم 2 في الصورة أول المشاركة

    مثال لجعل اول مجلد هو سطح المكتب

    كود PHP:
    FileOpenDialog "File Open", @DesktopDir"Text Files(*.txt)" )  
    ركز على خانة الـ int dir والباقي بعد شوي
    اذا جربت الكود راح تلاحظ ان اول مجلد ظهر لك هو سطح المكتب

    ==

    filter = صيغ الملفات المراد فتحها

    راجع رقم 3 في الصورة أول المشاركة

    هذه الوسيطة تقوم باختيار صيغة معينة للملفات المراد فتحها او اختيارها
    مثل .txt للملفات النصية | أو.exe للملفات الدفعية ( التطبيقات ) أو *.* لجميع الملفات أو .. الخ
    طريقة الكتابة هي كالتالي

    كود PHP:
    "Text File(*.txt)" 
    تكتب اولا توضيح لصيغة الملفات .. وهي هنا Text Files
    ثم تكتب الصيغة بين () وبعد * .. وهي هنا (*.txt)
    وطبعا لاتنسى ان كل هالصيغة تكتب بين ""

    مثال

    كود PHP:
    FileOpenDialog "File Open", @DesktopDir"Text Files(*.txt)" )  
    طيب لو اردنا ان نضيف اكثر من صيغة مثلا .jpg و .png و و و .. الخ
    نكتب نفس الصيغة ونفصل بين كل واحد منهما بعلامة ;

    مثال

    كود PHP:
    FileOpenDialog "File Open", @DesktopDir"Images(*.jpg;*.png;*.gif;*.bmp)" )  
    طيب لو اردنا ان نكتبها في قائمة منسدلة كهذه

    [​IMG]

    نقوم بتكرار الصيغة مرة اخرى ونفصل بينها بـعلامة |
    مثال

    كود PHP:
    FileOpenDialog "File Open", @DesktopDir"Images(*.jpg;*.png;*.gif;*.bmp) | Sounds(*.mp3;*.wav)" )  
    وايضا لو اردنا :d: ان نقوم بـعرض جميع الصيغ فسنحتاج لهذه الصيغة *.*
    مثال

    كود PHP:
    FileOpenDialog "File Open", @DesktopDir"All Files(*.*)" )  
    ==

    الاختيارية

    option = خيارات اضافية وهي 4 خيارات ( 1 , 2 ,4 ,8 ) >> شرح الخيارات في الاسفل

    1
    يجب عليك ان تختار ملف موجود ولو كتبت مسار ملف غير موجود في خانة اسم الملف ..
    في باقي الخيارات سيتجاهل وستذهب النافذة ولكن الان ستظهر رسالة الخطا هذه

    [​IMG]

    _________

    2

    تقريبا نفس عمل 1 وهي تتعلق باظهار رسالة خطا اذا كان المسار غير موجود

    _________

    4

    تمكنك من تحديد أكثر من ملف في نفس الوقت

    [​IMG]

    _________

    8

    لو كتب المستخدم مسار خاطئ في خانة < اسم الملف > سيتم التجاهل الا اذا كنت حددت خيار 1 او 2 او 8

    في 1 او 2 ستظهر رسالة خطا
    اما في 8 فستظهر هذه الرسالةة

    [​IMG]

    ==

    default name = اسم الملف الافتراضي .. يكون مكتوب في خانة اسم الملف >> القيمة الافتراضية لهذه الوسيطة "" >> فراغ

    راجع رقم 5 في الصورة أول المشاركة

    مثال لو كتبنا هذا الاسم في خانة الـ default name

    كود PHP:
    FileOpenDialog "File Open", @DesktopDir"All Files(*.*)" ,4,"Ali.txt")  
    النتيجة
    لو شغلت الكود راح تلاحظ انه كتب Ali.txt تلقائيا في خانة اسم الملف

    [​IMG]

    ==
    قبل ان ابدا بالمقبض hwnd
    لا انسى ان اشكر الاستاذ عبد الله waget فتقريبا شرح المقبض من شرحه :b:
    -----
    hwnd = هو .. متغير يشير الى النافذة الرئيسية لبرنامجك ..
    وفائدته ..
    1- يقوم بدمج عملية نافذة برنامجك الرئيسية بعملية نافذة OpenFileDialog في شريط التاسك بار ( شريط المهام )
    قبل اضافة المقبض

    [​IMG]


    ولو اضفنا المقبض ( hwnd ) .. سيكون الناتج هكذا

    [​IMG]


    2- يمنع مستخدم برنامجك من التنقل بين نافذة برنامجك الرئيسية ونافذة OpenFileDialog .. بحيث يمنعه من الوصول لنافذة برنامجك الرئيسية حتى يتم اغلاق نافذة الـ OpenFileDialog
    قبل اضافة المقبض​

    [​IMG]




    لاحظ كيف نقلت الواجهة الرئيسية فوق واجهة OpenFileDialog
    أما لو اضفت المقبض ( hwnd ) فلن استطيع ذلك لانها الان كعملية واحدة وليست كعمليتين
    اذا اردت انت تجرب بنفسك .. تفضل
    قم بفتح سيكربت جديد وادخل هذا الكود

    كود:
    [CENTER]#include <GUIConstantsEx.au3>
    $Form = GUICreate("Test",400,200)
    GUISetState(@SW_SHOW)
    MsgBox(0,"","قبل اضافة المقبض OpenFileDialog ستظهر الآن نافذة الـ ")
    FileOpenDialog("OpenFile",@DesktopDir,"All(*.*)",4,"")
    MsgBox(0,"","بعد اضافة المقبض OpenFileDialog ستظهر الآن نافذة الـ ")
    FileOpenDialog("OpenFile",@DesktopDir,"All(*.*)",4,"",$Form)
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg    
                Case $GUI_EVENT_CLOSE
                Exit
            EndSwitch
        WEnd[/CENTER]
    
    
    اتمنى وضحت فكرة المقبض ( hwnd ) .. وبقي طريقة صياغته


    قم بوضع متغير الواجهة الرئيسية مكان خانة hwnd ( الأخيرة )


    كود PHP:
    FileOpenDialog("OpenFile",@DesktopDir,"All(*.*)",4,"",$Form)
    لاحظ خانة hwnd ( الأخيرة ) ستلاحظ اني وضعت المتغير المرتبط بالواجهة الرئيسية لبرنامجنا
    والمتغير في مثالنا هو $Form


    وفي الاخير .. حبيت اقولكم ان المقبض ( hwnd ) ليس محصورا على FileOpenDialog
    فهو موجود على الـ MsgBox و الـ InputBox >> تقريبا جميع الدوال التي تتعامل مع الواجهات :king:
    ==


    طيب الان عرفنا تقريبا كل مدخلات الدالة وبقي المخرجات
    مخرجات الدالة
    في حالة النجاح .. ستخرج بمسار الملف
    في حالة الفشل ستخرج بـ "" >> نص فارغ
    وفي حين اننا اختبرنا الحالة بالماكرو
    كود PHP:
    @error
    ستخرج لنا الدالة في حالة النجاح 0
    وفي حالة الفشل
    1 اذا لم يتم تحديد ملف
    و2 اذا كان الملف خاطئ او تالف
    ..
    واذا اردنا ان نخرج مسار الملف المحدد من المستخدم
    سنقوم بالتالي

    كود PHP:
    $path FileOpenDialog("File Open",@DesktopDir,"Text Files(*.txt)")
    الان ستخزن المخرجات في المتغير $path
    يعني ان $path سيخرج لنا مسار الملف المحدد >> عند النجاح


    أمثلةة

    كود:
    $path = FileOpenDialog("File Open",@DesktopDir,"Text Files(*.txt)")
    [CENTER][CENTER][CENTER]if @error Then
        MsgBox(16,"Error","خطأ")
        Else
        MsgBox(0,"Success","مسار الملف المحدد = " & $path)
    EndIf[/CENTER]
    [/CENTER]
    [/CENTER]
    
    
    مثال اخر اعمق :q:


    كود:
    $path = FileOpenDialog("File Open",@DesktopDir,"Text Files(*.txt)")
    [CENTER]if @error Then
        If @error = 1 Then
            MsgBox(16,"Error","ل يتم اختيار اي ملف")
        ElseIf @error = 0 Then
            MsgBox(16,"Error","الملف تالف")
        Else
        MsgBox(0,"Success","مسار الملف المحدد = " & $path)
    EndIf[/CENTER]
    
    
    ==

    وفي ختام هذا الدرس اتمنى ان يكون واضح ومفهوم :q:
    دعوآاتكم :b:
     
    ocab و .: OMAR :. معجبون بهذا.
  13. .: Mr.Ali :.

    .: Mr.Ali :. زيزوومي محترف

    إنضم إلينا في:
    ‏يونيو 12, 2011
    المشاركات:
    1,574
    الإعجابات المتلقاة:
    423
    نقاط الجائزة:
    720
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 8
    FileSaveDialog | دالة فتح مستعرض الملفات لحفظ ملف

    [​IMG]

    .: الصيغة الاساسية للدالة :.

    كود PHP:
    FileSaveDialog "title""init dir""filter" [, options [, "default name" [, hwnd]]] )
    طريقة صياغتها اذا كانت ليست مطابقة لـ FileOpenDialog فهي مشابهه جدددا
    حتى ان هذا الدرس .. نسخ ولص من درس FileOpenDialog فقط ققمت بتغيير الاكواد والصور :kmj-by0000 (72):
    ==

    هناك ثلاث وسيطات اجبارية وثلاث اخرى اختيارية

    الاجبارية

    title = عنوان النافذة
    int dir = اول مجلد يظهر في نافذة فتح الملفات
    filter = صيغ الملفات المراد فتحها

    الاختيارية

    option = خيارات اضافية وهي خيارين ( 2 , 16 ) >> شرح الخيارات في الاسفل
    default name = اسم الملف الافتراضي .. يكون مكتوب في خانة اسم الملف >> القيمة الافتراضية لهذه الوسيطة = "" >> فراغ
    hwnd = متغير يشير الى النافذة الرئيسية لبرنامجك .. >> سيتم توضيحه في الاسفل
    =====

    الاجبارية

    title = عنوان النافذة

    راجع رقم 1 في الصورة أول المشاركة


    كود PHP:
    FileSaveDialog "File Save", @DesktopDir"Text Files(*.txt)")
    ركز على خانة الـ title والباقي بعد شوي
    النتيجة

    [​IMG]

    ==

    int dir = اول مجلد يظهر في نافذة فتح الملفات

    راجع رقم 2 في الصورة أول المشاركة

    مثال لجعل اول مجلد هو سطح المكتب

    كود PHP:
    FileSaveDialog "File Save", @DesktopDir"Text Files(*.txt)")
    ركز على خانة الـ int dir والباقي بعد شوي
    اذا جربت الكود راح تلاحظ ان اول مجلد ظهر لك هو سطح المكتب

    ==

    filter = صيغ الملفات المراد فتحها

    راجع رقم 3 في الصورة أول المشاركة

    هذه الوسيطة تقوم باختيار صيغة معينة للملفات المراد فتحها او اختيارها
    مثل .txt للملفات النصية | أو.exe للملفات الدفعية ( التطبيقات ) أو *.* لجميع الملفات
    طريقة الكتابة هي كالتالي :-

    كود PHP:
    "Text File(*.txt)"
    تكتب اولا توضيح لصيغة الملفات .. وهي هنا Text Files
    ثم تكتب الصيغة بين () وبعد * .. وهي هنا (*.txt)
    وطبعا لاتنسى ان كل هالصيغة تكتب بين ""
    مثال

    كود PHP:
    FileSaveDialog "File Save", @DesktopDir"Text Files(*.txt)")
    طيب لو اردنا ان نضيف اكثر من صيغة مثلا .jpg و .png و و و .. الخ
    نكتب نفس الصيغة ونفصل بين كل واحد منهما بعلامة ;
    مثال

    كود PHP:
    FileSaveDialog "File Save", @DesktopDir"Images(*.jpg;*.png;*.gif;*.bmp)")
    طيب لو اردنا ان نكتبها في قائمة منسدلة كهذه

    [​IMG]

    نقوم بتكرار الصيغة مرة اخرى ونفصل بينها بـعلامة |
    مثال
    كود PHP:
    FileSaveDialog "File Save", @DesktopDir"Images(*.jpg;*.png;*.gif;*.bmp) | Sounds(*.mp3;*.wav)")
    وايضا لو اردنا ان نقوم بـعرض جميع الصيغ فسنحتاج لهذه الصيغة *.*
    مثال

    كود PHP:
    FileSaveDialog "File Save", @DesktopDir"All Files(*.*)")
    ==

    الاختيارية

    option = خيارات اضافية وهي خيارين ( 2 , 16 ) >> شرح الخيارات في الاسفل

    2

    اظهار رسالة خطا اذا كان المسار غير موجود
    _________

    16

    اظهار هذه رسالة اذا كان الاسم موجود

    [​IMG]

    ==

    default name = اسم الملف الافتراضي .. يكون مكتوب في خانة اسم الملف
    القيمة الافتراضية لهذه الوسيطة "" >> فراغ

    راجع رقم 5 في الصورة أول المشاركة

    مثال لو كتبنا هذا الاسم في خانة الـ default name

    كود PHP:
    FileSaveDialog "File Save", @DesktopDir"All Files(*.*)",16,    "Ali.txt" )
    النتيجة
    لو شغلت الكود راح تلاحظ انه كتب Ali.txt تلقائيا في خانة اسم الملف
    [​IMG]

    ==
    بالنسبة للمقبض فهو نفس مقبض FileOpenDialog لا يختلف ابدا .. فقط اعادة شرح

    قبل ان ابدا بالمقبض hwnd
    لا انسى ان اشكر الاستاذ عبد الله waget فتقريبا شرح المقبض من شرحه :b:
    -----
    hwnd = هو .. متغير يشير الى النافذة الرئيسية لبرنامجك ..
    وفائدته ..
    1- يقوم بدمج عملية نافذة برنامجك الرئيسية بعملية نافذة FileSaveDialog في شريط التاسك بار ( شريط المهام )
    قبل اضافة المقبض


    [​IMG]


    ولو اضفنا المقبض ( hwnd ) .. سيكون الناتج هكذا


    [​IMG]

    2- يمنع مستخدم برنامجك من التنقل بين نافذة برنامجك الرئيسية ونافذة FileSaveDialog .. بحيث يمنعه من الوصول لنافذة برنامجك الرئيسية حتى يتم اغلاق نافذة الـ FileSaveDialog
    قبل اضافة المقبض​
    [​IMG]



    لاحظ كيف نقلت الواجهة الرئيسية فوق واجهة FileSaveDialog
    أما لو اضفت المقبض ( hwnd ) فلن استطيع ذلك لانها الان كعملية واحدة وليست كعمليتين
    اذا اردت انت تجرب بنفسك .. تفضل
    قم بفتح سيكربت جديد وادخل هذا الكود ولاحظ الفروقات​

    كود:
    #include <GUIConstantsEx.au3>
    $Form = GUICreate("Test",400,200)
    GUISetState(@SW_SHOW)
    MsgBox(0,"","قبل اضافة المقبض FileSaveDialog ستظهر الآن نافذة الـ ")
    FileSaveDialog("File Save",@DesktopDir,"All(*.*)",16,"")
    MsgBox(0,"","بعد اضافة المقبض FileSaveDialog ستظهر الآن نافذة الـ ")
    FileSaveDialog("File Save",@DesktopDir,"All(*.*)",16,"",$Form)
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                Exit
            EndSwitch
        WEnd
    
    
    اتمنى وضحت فكرة المقبض ( hwnd ) .. وبقي طريقة صياغته
    قم بوضع متغير الواجهة الرئيسية مكان خانة hwnd ( الأخيرة )

    كود PHP:
    FileSaveDialog("File Save",@DesktopDir,"All(*.*)",16,"",$Form)
    لاحظ خانة hwnd ( الأخيرة ) ستلاحظ اني وضعت المتغير المرتبط بالواجهة الرئيسية لبرنامجنا
    والمتغير في مثالنا هو $Form

    وفي الاخير .. حبيت اقولكم ان المقبض ( hwnd ) ليس محصورا على FileSaveDialog​
    فهو موجود على الـ MsgBox و الـ InputBox >> تقريبا جميع الدوال التي تتعامل مع الواجهات :king:
    ==


    طيب الان عرفنا تقريبا كل مدخلات الدالة وبقي المخرجات
    مخرجات الدالة
    في حالة النجاح .. ستخرج بمسار الملف
    في حالة الفشل ستخرج بـ "" >> نص فارغ
    وفي حين اننا اختبرنا الحالة بالماكرو
    كود PHP:
    @error
    ستخرج لنا الدالة في حالة النجاح 0
    وفي حالة الفشل
    1 اذا لم يتم تحديد ملف
    و2 اذا كان الملف خاطئ او تالف
    ..
    واذا اردنا ان نخرج مسار الملف المحدد من المستخدم
    سنقوم بالتالي

    كود PHP:
    $path FileSaveDialog("File Save",@DesktopDir,"Text Files(*.txt)")
    الان ستخزن المخرجات في المتغير $path
    يعني ان $path سيخرج لنا مسار الملف المحدد >> عند النجاح


    أمثلةة

    كود:
    $path = FileSaveDialog("File Save",@DesktopDir,"Text Files(*.txt)")
    [CENTER][CENTER][CENTER]if @error Then
        MsgBox(16,"Error","خطأ")
        Else
        MsgBox(0,"Success","مسار الملف المحدد = " & $path)
    EndIf[/CENTER]
    [/CENTER]
    [/CENTER]
    
    
    مثال اخر اعمق :q:


    كود:
    $path = FileSaveDialog("File Save",@DesktopDir,"Text Files(*.txt)")
    [CENTER]if @error Then
        If @error = 1 Then
            MsgBox(16,"Error","ل يتم اختيار اي ملف")
        ElseIf @error = 0 Then
            MsgBox(16,"Error","الملف تالف")
        Else
        MsgBox(0,"Success","مسار الملف المحدد = " & $path)
    EndIf[/CENTER]
    
    
    ==

    وفي ختام هذا الدرس اتمنى ان يكون واضح وفهوم :q:
    دعوآاتكم لي ولوالدي بالتوفيق :b:​
     
    أعجب بهذه المشاركة ocab
  14. .: Mr.Ali :.

    .: Mr.Ali :. زيزوومي محترف

    إنضم إلينا في:
    ‏يونيو 12, 2011
    المشاركات:
    1,574
    الإعجابات المتلقاة:
    423
    نقاط الجائزة:
    720
    برامج الحماية:
    اخرى
    نظام التشغيل:
    Windows 8

    FileSelectFolder | دالة فتح مستعرض المجلدات


    [​IMG]



    .: الصيغة الاساسية للدالة :.


    كود PHP:
    FileSelectFolder "dialog text""root dir" [, flag [, "initial dir" [, hwnd]]] )
    هناك وسيطتان اجباريتان وثلاث اختيارية

    الاجبارية

    dialog text = نص يظهر على الواجهةة .. راجع الصورة الأولى أول الصفحة [ رقم 1 ] root dir = جذر الملفات [ بداية التفرع للمجلدات ] >> ساحاول اوضحها اكثر في الاسفل

    الاختيارية

    flag = خيارات اضافية وهي 3 خيارات ( 1 , 2 , 3 ) >> شرح الخيارات في الاسفل
    initial dir = للدخول أو التحديد على مجلد
    hwnd = متغير يشير الى النافذة الرئيسية لبرنامجك .. >> سيتم توضيحه في الاسفل
    =====

    الاجبارية



    dialog text = نص يظهر على الواجهةة .. راجع الصورة الأولى أول الصفحة [ رقم 1 ]
    مثال

    كود PHP:
    FileSelectFolder("قم بتحديد مجلد | Select Folder","",1,@DesktopDir)
    النتيجة ( راجع الصورة في أول الصفحة رقم 1 )


    =====
    root dir = جذر الملفات [ بداية التفرع للمجلدات ]
    بتوضيح أكثر
    هو نقطة بداية للدخول للمجلدات
    يعني لو انشأنا مجلد فااارغ باسم A وضعناه على سطح المكتب
    ثم جعلناه هو الجذر .. ستكون النتيجة


    [​IMG]


    لاحظنا انه لم يعرض الا المجلد ; لانه فارغ
    فلذلك من الافضل انك تتضع مجلد متفرع كـ c:\ مثلا أو سطح المكتب >> سطح المكتب تقريبا كامل المجلدات سيعرضها
    راجع الصورة الأولى أول الصفحة [ رقم 2 ] كنت مختار سطح المكتب كـ نقطة تفرع
    مثال


    كود PHP:
    FileSelectFolder("قم بتحديد مجلد | Select Folder",@ProgramFilesDir)
    ^ ستكون نقطة البداية .. مجلد البرامج


    مثال اخر


    كود PHP:
    FileSelectFolder("قم بتحديد مجلد | Select Folder",@DesktopDir)
    ^ ستكون نقطة البداية .. سطح المكتب


    كود PHP:
    FileSelectFolder("قم بتحديد مجلد | Select Folder","")
    ^ ستكون نقطة البداية .. سطح المكتب أيضا
    لانك لو وضعت علامتي "" في هذه الوسيطة .. سيتم اعتبارها سطح المكتب :king:


    =====

    الاختيارية


    flag = خيارات اضافية وهي 3 خيارات ( 1 , 2 , 3 )

    _____

    1


    سيتم اظهار زر ( انشاء مجلد جديد ) .. >> راجع الصورة أول المشاركة ( رقم 4 )


    _____


    2


    استخدام النمط والستايل الجديد .. من IE5.0 فما فوق :smile:
    _____


    3


    اظهار مربع نص .. لادخال مسار مجلد >> راجع الصورة أول المشاركة ( رقم 3 )


    _____


    =====


    initial dir = للدخول أو التحديد على مجلد
    فمثلا لو وضعنا هذا المثال


    كود PHP:
    FileSelectFolder("قم بتحديد مجلد | Select Folder",@ProgramFilesDir,1,@ProgramFilesDir "\Kaspersky Lab")
    وضعنا نقطة التفرع في مجلد البرامج .. والتحديد على مجلد Kaspersky Lab


    =====

    قبل ان ابدا بالمقبض hwnd
    لا انسى ان اشكر الاستاذ عبد الله waget فتقريبا شرح المقبض من شرحه :b:
    -----
    hwnd = هو .. متغير يشير الى النافذة الرئيسية لبرنامجك ..
    وفائدته ..
    1- يقوم بدمج عملية نافذة برنامجك الرئيسية بعملية نافذة
    FileSelectFolder في شريط التاسك بار ( شريط المهام )
    قبل اضافة المقبض

    [​IMG]

    ولو اضفنا المقبض ( hwnd ) .. سيكون الناتج هكذا

    [​IMG]

    2- يمنع مستخدم برنامجك من التنقل بين نافذة برنامجك الرئيسية ونافذة FileSelectFolder .. بحيث يمنعه من الوصول لنافذة برنامجك الرئيسية حتى يتم اغلاق نافذة الـ FileSelectFolder ​

    اذا اردت انت تجرب بنفسك .. تفضل
    قم بفتح سيكربت جديد وادخل هذا الكود


    كود:
    [CENTER]#include <GUIConstantsEx.au3>
    $Form = GUICreate("Test",400,200)
    GUISetState(@SW_SHOW)
    FileSelectFolder("قم بتحديد مجلد | Select Folder",@ProgramFilesDir,1,@ProgramFilesDir & "\Kaspersky Lab",$Form)
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    WEnd[/CENTER]
    
    
    اتمنى وضحت فكرة المقبض ( hwnd ) .. وبقي طريقة صياغته

    قم بوضع متغير الواجهة الرئيسية مكان خانة hwnd ( الأخيرة )


    كود PHP:
    FileSelectFolder("قم بتحديد مجلد | Select Folder",@ProgramFilesDir,1,@ProgramFilesDir "\Kaspersky Lab",$Form)
    لاحظ خانة hwnd ( الأخيرة ) ستلاحظ اني وضعت المتغير المرتبط بالواجهة الرئيسية لبرنامجنا
    والمتغير في مثالنا هو $Form

    وفي الاخير .. حبيت اقولكم ان المقبض ( hwnd ) ليس محصورا على
    FileSelectFolder
    فهو موجود على الـ MsgBox و الـ InputBox >> تقريبا جميع الدوال التي تتعامل مع الواجهات :king:
    ==

    طيب الان عرفنا تقريبا كل مدخلات الدالة وبقي المخرجات
    مخرجات الدالة


    في حالة النجاح .. ستخرج بمسار المجلد
    في حالة الفشل ستخرج بـ "" >> نص فارغ
    وفي حين اننا اختبرنا الحالة بالماكرو

    كود PHP:
    @error
    ستخرج لنا الدالة في حالة النجاح 0
    وفي حالة الفشل
    1 اذا أغلق المستخدم نافذة FileSelectFolder من دون ان يحدد مجلد >> لا يوجد احتمال خطأ غيره
    :king:
    --
    واذا اردنا ان نخرج مسار المجلد المحدد من المستخدم
    سنقوم بالتالي


    كود PHP:
    $path FileSelectFolder("قم بتحديد مجلد | Select Folder",@ProgramFilesDir,1,@ProgramFilesDir "\Kaspersky Lab",$Form)
    كما تلاحظون قمنا بوضع مخرجات الدالة في متغير
    الان ستخزن المخرجات في المتغير $path
    يعني ان $path سيخرج لنا مسار المجلد المحدد >> عند النجاح

    أمثلةة


    كود:
    [CENTER]if @error Then
        MsgBox(16,"","لم تقم بتحدبد مجلد")
    Else
        MsgBox(0,"","مسار المجلد المحدد = " & $path)
    EndIf[/CENTER]
    
    
    قمت في المثال السابق بوضع شرط اذا وجد خطأ ستظهر رسالة تنبه المستخدم بعدم تحديد مجلد
    طبعا لايوجد احتمال خطأ غيره :openmouth:k:


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


    ==
    وفي ختام هذا الدرس اتمنى ان يكون واضح ومفهوم :q:
    دعوآاتكم لي ولوالدي بالتوفيق .. ولجدي عبد الله بالرحمة والمغفرة
    :er:​

     
    أعجب بهذه المشاركة ocab
حالة الموضوع:
مغلق

مشاركة هذه الصفحة

جاري تحميل الصفحة...