اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

[ Windows Api ] شرح مبسط عنه ، مع امثلة لبعض الدوال الشائعة ..


SEMO.Pa3x

الردود الموصى بها

اسعد الله اوقاتكم ، الكثير من الاشخاص قد تجاوز مرحلة البداية بلغة [ Net. ] وبقي عائما

ان صح التعبير اي بقي تائها ويدور حولة سؤال كيف ساطور نفسي ؟

حسنا جدا ، نحن تجاوزنا مرحلة البداية وهي [ دوال التعامل مع الملفات / قراءة / كتابة .. الخ ]

وايضا تعلمنا [ دوال التعامل مع الريجستري / قراءة / كتابة / حذف .. الخ ]

وايضا التعامل مع العمليات ، و و و ... الخ

الان نمر بمرحلة اكثر تطورا وهي مرحلة دراسة دوال الويندوز [ API ] التي هي اختصار

لـ [ Application Programming Interfaces ]

التي هي بدورها عبارة عن [ نواة ] لكي تساعد على عمل صلة بين برامجنا والنظام ..

قبل الخوض في صلب الموضوع ، سنشاهد بعض الدوال تحتاج شيء يسمى [ مقبض ] فما هو ؟

[ مقبض او "Handle" ] و هناك شيء اخر يسمى اجزاء الدالة وتسمى [ Parameter ]

اما المقبض او "Handle" فما هو ؟ ببساطة هو اشبه بالمفتاح او الرقم 

الذي يساعدنا بالتحكم بنافذة معينة ، اي ان لكل نافذة يوجد مفتاح يسمى مقبض للتحكم بها ،

لكن!! هذا الرقم او المفتاح يتغير كلما قمنا بغلق البرنامج وتشغيلة مرة

اخرى ويستحيل ان نجد لنافذتين عنوان مقبض متشابه ،

ملاحظة // نجد دائما اختصار كلمة مقبض بالشكل الاتي [ hWnd ] ، مثال على دالة ..

 

422292.png
 

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

قلنا ان المقبض :- هو مفتاح او رقم موجود بكل نافذة للتحكم بها . حمل هذا البرنامج

من برمجتي المتواضعه [ هنا ]

[ شكل البرنامج ]

 
422293.png

 

شرح استخدام البرنامج ، قمت باحضار مقبض نافذة برنامج [ Process Explorer ]

 

422294.gif
 

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


 

من اين ساحصل على دوال [ API ] لتنفيذ مشاريعي ؟

لدينا اهم موقعين [ Pinvoke ] و [ Msdn ] ، حسنا جدا .. دعونا نطبق على موقع

[ Pinvoke ] وناخذ دالة ثم نستدعيها ..

لاحظو معي الموقع ، الجانب الايسر يحتوي اسماء المكتبات الاساسية التي تحتوي الدوال

وبداخل كل مكتبة عشرات الدوال ..

 
422296.png

 

مثلا شاهدو الدوال بمكتبة [ User32.dll ]

 

422297.png

 

دعونا نختار دالة ونطبق عليها ..

 

422298.png

 

اخترنا الدالة [ CloseWindow ] لاحظو كيف ظهرت الدالة بعدة اشكال ..

 

422299.png
 
 

ظهرت بلغة [ #C ] و [ VB.NET ] على اشكال اثنان واحدة مختصرة ..

اي كتبت بصورة مختصرة التي تبدا [ Private Declare .. ] نقوم بنسخ الدالة ونلصقها

بمشروعنا ، يرجى الانتباه .. سنقوم بادراج الدالة اعلى المشروع اي تحت

منطقة [ Public Class Form1 ]

 
422300.png
 
 

لاحظو براميتر الدالة  ماذا يحتاج ياترى ؟ ساترك الاجابة لكم ..

ننتقل للجزء الثاني كيف نستدعي هذه الدالة ؟

طيب قم باضافة [ Button ] واكتب بداخله اسم الدالة لاحظو معي الاسم ..

 
422301.png
 
 

نكتب [ CloseWindow ] الذي هو اسم الدالة ..

ثم نقوم بفتح قوس[ ) ] لاحظو معي الشرح الذي ظهر لي ..

 
422302.png
 
 

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

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

 
422303.png

 

الان جرب البرنامج ، واخبرني النتيجة ..


:39:

 

الان نقوم بتجربة داله اخرى ولتكن دالة [ SetWindowText ] لانها تستعمل براميتران

واحد لتمرير مقبض والثاني لتمرير الاسم الجديد للنافذة ..

 
422305.png

 

يحتاج [ hWnd ] ويحتاج [ String ]

 

422306.png

 

لاحظو الاستدعاء ..

 

422307.png
 
 

الاول المقبض والثاني الاسم من نوع [ String ] الان جرب المشروع واخبرني النتيجة ..

هذا كان شرح مبسط لدوال [ API ] وطريقة استخدامها ، لكي تطور نفسك اقرا

مزيدا من الدروس حولها ، ...

تم تعديل بواسطه SEMO.Pa3x
  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information