تعريف واجهة برمجة التطبيقات. واجهة برمجة التطبيقات

بيت / المتصفحات

رمل

مجندنوفمبر 26، 2012 في 01:59 مساء

ما هي واجهة برمجة التطبيقات (API).

  • خزانة *

تحيات!
في هذه المقالة سنلقي نظرة على ماهية واجهة برمجة التطبيقات (API) وأين وكيف ولماذا يتم استخدامها. سننظر أيضًا في كيفية استخدام واجهة برمجة التطبيقات (API) في تطويرات الويب الخاصة بك وكيف يمكنها تبسيط حياة مبرمج الويب.

لذلك دعونا نبدأ بالتعريف. API (واجهة برمجة التطبيقات) هي واجهة برمجة، واجهة لإنشاء التطبيقات. أكثر إلى هذه النقطة بلغة واضحة، فإن واجهة برمجة التطبيقات (API) عبارة عن كود جاهز لتسهيل حياة المبرمج. تم إنشاء واجهة برمجة التطبيقات (API) حتى يتمكن المبرمج من تسهيل مهمة كتابة التطبيق باستخدام تعليمات برمجية جاهزة (على سبيل المثال، الوظائف). إن jQuery الشهير المكتوب بلغة JavaScript هو أيضًا نوع من واجهة برمجة التطبيقات (API). إذا نظرنا إلى هذا المثال على وجه التحديد، فإن jQuery يجعل كتابة التعليمات البرمجية أسهل بكثير. ما يمكن فعله باستخدام أدوات JavaScript العادية في 30 سطرًا مكتوب في 5-6 باستخدام jQuery. إذا نظرنا إلى واجهات برمجة التطبيقات بشكل عام، يمكننا أن نجد الكثير من الخدمات التي تقدم حلول التطوير. وأشهرها اليوم هي خدمة code.google.com التي توفر حوالي خمسين واجهة برمجة تطبيقات مختلفة! يتضمن ذلك واجهة لإنشاء تطبيقات Android، وواجهات برمجة التطبيقات المتنوعة للعمل مع AJAX، وواجهات برمجة تطبيقات التطبيقات المتنوعة التي يمكن تخصيصها بسهولة حسب رغبتك.

بعد كل شيء، هل من المنطقي أن تكتب الكود بنفسك؟ لماذا العمل على ما تم إنشاؤه بالفعل؟ هل هناك أي نقطة في الاستسلام؟ حلول مجانية(وفي الحقيقة من مساعدة مجانية) في تطوير الويب؟ إذا أجبت بـ "لا" على كل هذه الأسئلة، فاعتبر أنك تفهم جوهر واجهة برمجة التطبيقات (API).

لكني أريد أيضًا أن أقوم بالحجز. لا ينبغي للمطورين المبتدئين استخدام حلول نصف جاهزة، لأنهم لن يتعاملوا مع المستقبل التحدي الحقيقي. لذلك، إذا كنت مبرمج ويب مبتدئ، فلا تستخدم المنتجات شبه المصنعة! تعلم كيفية التفكير برأسك، وقم ببناء خوارزميات مختلفة لفهم جوهر البرمجة. وأقول أيضًا، مخاطبًا الجميع بالفعل، أن واجهة برمجة التطبيقات (API) ليست كذلك حلول جاهزةهذه بيئة وواجهة لإنشاء مشاريعك. أنت لا تأكل شرحات مجمدة من المتجر، أليس كذلك؟ عليك أن تقليهم أولا، أليس كذلك؟ يجسد هذا التشبيه جوهر واجهة برمجة التطبيقات (API) بشكل واضح جدًا.

بشكل عام، أخبرتك ما هي واجهة برمجة التطبيقات (API)، وأين وكيف يتم استخدامها، والأهم من ذلك، لماذا. أتمنى لك تعلمًا ممتعًا لبرمجة الويب وفهم أعماقها المتزايدة!

العلامات: API

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

عاجلا أم آجلا، يواجه أي مبرمج مثل هذا المفهوم واجهة برمجة التطبيقات. ومع ذلك، عندما يحدث مثل هذا الاجتماع، لا يعرف الجميع ما هو ولماذا هو مطلوب وكيفية استخدامه. وفي هذه المقالة سأقوم بسد هذه الفجوة في معرفة البعض منكم، وسأقدم أيضًا مثالاً من ممارستي.

واجهة برمجة التطبيقات (واجهة برمجة التطبيقات) - هذا واجهة برمجة التطبيقات. بعبارات أبسط، هذه مجموعة من الوظائف والثوابت والفئات وتنسيقات الاستعلام المختلفة التي يمكن استخدامها في برامج أخرى.

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

مثال واجهة برمجة التطبيقاتيكون واجهة برمجة تطبيقات ويندوز, واجهة برمجة تطبيقات OpenGL, واجهة برمجة تطبيقات Direct3Dوهكذا.

على سبيل المثال، منذ وقت ليس ببعيد واجهت أيضا مباشرة واجهة برمجة التطبيقات. لقد قمت بالتسجيل في خدمة القائمة البريدية" SmartResponder.ru" وبدأت نشرة إخبارية بدأ الناس الاشتراك فيها. وكانت المهمة كما يلي: في غضون 24 ساعة بعد الاشتراك، يمكن لأي شخص شراء دورة الفيديو المدفوعة الخاصة بي بسعر مخفض. نظرًا لأنه يتم تخزين جميع المعلومات حول المشتركين على الخادم " SmartResponder.ru"، ثم الوصول العادي (على سبيل المثال، من خلال ديسيبل) لم يكن لدي حق الوصول إلى هذه البيانات، ولكن كان من الضروري تنفيذها. الحمد لله " SmartResponder.ru"املك بنفسك واجهة برمجة التطبيقات، الذي استخدمته.

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

ربما تكون قد شاهدت المصطلح "API". كثيرًا ما يعلن نظام التشغيل ومتصفح الويب وتحديثات التطبيقات عن واجهات برمجة تطبيقات جديدة للمطورين. ولكن ما هي واجهة برمجة التطبيقات (API)؟

واجهة برمجة التطبيقات

مصطلح API هو اختصار ويرمز إلى واجهة برمجة التطبيقات.

تشبه واجهة برمجة التطبيقات (API) قائمة الطعام في المطعم. تحتوي القائمة على قائمة الأطباق التي يمكنك طلبها، بالإضافة إلى وصف لكل طبق. عندما تحدد عناصر القائمة التي تريدها، يقوم مطبخ المطعم بالمهمة ويوفر لك الأطباق الجاهزة. أنت لا تعرف بالضبط كيف يقوم المطعم بإعداد هذا الطعام، ولا تحتاج إلى ذلك.

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

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

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

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

لنفترض أنك تريد تطوير تطبيق iPhone. يوفر نظام التشغيل ابل iOS عدد كبيرتشبه واجهات برمجة التطبيقات أي نظام تشغيل آخر لتسهيل ذلك عليك.

على سبيل المثال، إذا كنت تريد تضمين متصفح ويب لعرض صفحة ويب واحدة أو أكثر، فلن يتعين عليك برمجة متصفح الويب الخاص بك من البداية لتطبيقك فقط. أنت
يمكنك استخدام WKWebView API لتضمين متصفح الويب WebKit (Safari) في التطبيق الخاص بك.

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

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

تتحكم واجهات برمجة التطبيقات في الوصول إلى الموارد

تُستخدم واجهات برمجة التطبيقات أيضًا للتحكم في الوصول إلى الأجهزة والوظائف برمجة، والتي قد لا يكون لدى التطبيق إذن باستخدامها. ولهذا السبب تلعب واجهات برمجة التطبيقات غالبًا دورًا كبيرًا في الأمان.

على سبيل المثال، إذا سبق لك زيارة موقع ويب وشاهدت رسالة في متصفحك تفيد بأن موقع الويب يطلب موقعك الدقيق، فإن موقع الويب هذا يحاول استخدام واجهة برمجة التطبيقات لتحديد الموقع الجغرافي في متصفح الويب الخاص بك. توفر متصفحات الويب واجهات برمجة التطبيقات لتسهيل وصول مطوري الويب إلى موقعك - ​​يمكنهم ببساطة طرح السؤال "أين أنت؟" وسيقوم المتصفح بالعمل الشاق للوصول إلى نظام تحديد المواقع العالمي (GPS) أو الجهاز القريب منك شبكات الواي فايللعثور على موقعك الفعلي.

ومع ذلك، توفر المتصفحات أيضًا هذه المعلومات من خلال واجهات برمجة التطبيقات لأنه يمكن التحكم في الوصول إليها. عندما يريد موقع ويب الوصول إلى موقعك الدقيق، فإن الطريقة الوحيدة للحصول عليه هي من خلال واجهة برمجة تطبيقات الموقع. وعندما يحاول موقع ويب استخدامه، يمكنك أنت - المستخدم - السماح بالطلب أو رفضه. لا يمكن الوصول إلى موارد الأجهزة مثل مستشعر GPS إلا من خلال واجهة برمجة التطبيقات (API)، بحيث يمكن للمتصفح التحكم في الوصول إلى الأجهزة والحد من ما يمكن للتطبيقات القيام به.

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

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

تُستخدم واجهات برمجة التطبيقات (APIs) للتواصل بين الخدمات

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

وبما أنها واجهة برمجة التطبيقات (API)، فيمكن لـ Google التحكم في الوصول إليها خرائط جوجلعلى مواقع الطرف الثالث، مع التأكد من أنهم يستخدمونها بطريقة متسقة بدلاً من محاولة التنفيذ العشوائي للإطار الذي يعرضه موقع الويب خرائط جوجل، على سبيل المثال.

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

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

إذا كنت قد قرأت هذه المقالة، فسيكون لديك فكرة أفضل عن ماهية واجهة برمجة التطبيقات (API). في النهاية، لا تحتاج إلى معرفة ما هي واجهة برمجة التطبيقات (API) إلا إذا كنت مطورًا. ولكن، إذا رأيت أن نظامًا أساسيًا أو خدمة برمجية قد أضافت واجهات برمجة تطبيقات جديدة لأجهزة أو خدمات مختلفة، فمن المفترض أن يكون من الأسهل على المطورين استخدام هذه الميزات.

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

يشير اختصار API إلى "واجهة برمجة التطبيقات" واجهة البرنامجالتطبيقات). تقوم معظم الشركات الكبرى في مرحلة ما بتطوير واجهات برمجة التطبيقات للعملاء أو من أجلهم الاستخدام الداخلي. لفهم كيفية وكيفية استخدام واجهات برمجة التطبيقات (APIs) في التطوير والأعمال، عليك أولاً أن تفهم كيفية عمل شبكة الويب العالمية.

شبكة الويب العالمية والخوادم البعيدة

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

عند الدخول إلى شريط عنوان المتصفح www.facebook.comيتم إرسال الطلب المقابل إلى خادم Facebook البعيد. بمجرد أن يتلقى المتصفح الرد، فإنه يفسر الكود ويعرض الصفحة.

في كل مرة يزور فيها المستخدم صفحة ما على الإنترنت، فإنه يتفاعل مع واجهة برمجة التطبيقات (API) الخاصة بالخادم البعيد. واجهة برمجة التطبيقات (API) هي الجزء المكون من الخادم الذي يتلقى الطلبات ويرسل الاستجابات.

API كوسيلة لخدمة العملاء

تقدم العديد من الشركات واجهات برمجة التطبيقات كمنتج جاهز. على سبيل المثال، تبيع شركة Weather Underground إمكانية الوصول إلى واجهة برمجة تطبيقات بيانات الطقس الخاصة بها.

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

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

وبدلاً من ذلك، يمكن للمتصفح تقديم طلب إلى واجهة برمجة التطبيقات (API). خوادم جوجل، تجاوز خادم الشركة.

كيف تختلف واجهة برمجة تطبيقات تقويم Google عن واجهة برمجة التطبيقات الخاصة بأي خادم بعيد آخر على الشبكة؟

من الناحية الفنية، الفرق هو في شكل الطلب والرد. لإنشاء صفحة ويب كاملة، يتوقع المتصفح استجابة بلغة ترميز HTML، بينما ستعرض واجهة برمجة تطبيقات تقويم Google البيانات بتنسيق مثل JSON.

إذا تم تقديم طلب إلى واجهة برمجة التطبيقات (API) بواسطة خادم موقع الويب الخاص بالشركة، فهو العميل (تمامًا كما يكون المتصفح هو العميل عندما يفتح المستخدم موقع الويب).

بفضل واجهة برمجة التطبيقات (API)، يحصل المستخدم على فرصة تنفيذ إجراء ما دون مغادرة موقع الشركة على الويب.

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

يقوم العديد من المطورين بتوزيع التطبيق على عدة خوادم، والتي تتفاعل مع بعضها البعض باستخدام واجهة برمجة التطبيقات (API). تسمى الخوادم التي تؤدي وظيفة دعم لخادم التطبيق الرئيسي بالخدمات الصغيرة.

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

غالبًا ما يمكن إرسال مثل هذه الطلبات عبر المتصفح. نظرًا لأن نقل بيانات HTTP يتم في شكل نص، فسيكون المتصفح قادرًا دائمًا على عرض الاستجابة. على سبيل المثال، من خلال المتصفح، يمكنك الوصول مباشرة إلى واجهة برمجة تطبيقات GitHub (https://api.github.com/users/petrgazarov)، بدون رمز وصول، وتلقي هذه الاستجابة بتنسيق JSON:

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

بعض الأمثلة الأخرى لواجهة برمجة التطبيقات (API).

كلمة "التطبيق" يمكن أن يكون لها معاني مختلفة. في سياق واجهة برمجة التطبيقات، هذا يعني:

  • قطعة من البرمجيات ذات وظيفة محددة،
  • الخادم بأكمله أو التطبيق بأكمله أو مجرد جزء منفصل من التطبيق.

يمكن لأي برنامج يمكن تمييزه بوضوح عن البيئة أن يحل محل الحرف "A" في اختصار باللغة الإنجليزية، ويمكن أن يحتوي أيضًا على نوع من واجهة برمجة التطبيقات (API). على سبيل المثال، عندما يقوم أحد المطورين بتطبيق مكتبة تابعة لجهة خارجية في التعليمات البرمجية، فإنها تصبح جزءًا من التطبيق بأكمله. باعتبارها قطعة برمجية مستقلة، ستحتوي المكتبة على نوع من واجهة برمجة التطبيقات (API) التي تسمح لها بالتفاعل مع بقية كود التطبيق.

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

حان الوقت للحديث عن مفهوم مثل وظائف API في لغة Visual Basic. لماذا تعتبر هذه الوظائف مهمة في Visual Basic؟ دعونا نكتشف ذلك، أولاً، عند بدء البرمجة في Visual Basic، ستفهم على الفور أنه باستخدام هذه الوظائف، يمكنك كتابة برامج خطيرة للغاية، وثانيًا، لا يمكنك فعل الكثير دون استخدام وظائف API، على سبيل المثال، كل ما يتعلق باستخدام نظام التشغيل ويندوز ( على سبيل المثال: اكتشف اسم المستخدم ومساحة القرص الصلب وما إلى ذلك.).

ولكن من أجل البدء في وضع هذه الوظائف موضع التنفيذ، عليك أن تعرف ما هي، فلنتحدث عن ذلك أولاً.

نظرية وظائف Visual Basic API

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

يمكن استدعاء وظائف واجهة برمجة التطبيقات (API) من Visual Basic لتنفيذ المهام التي لا تكفي الوظيفة القياسية لها رمز البرنامجفيجوال بيسك. على سبيل المثال، الوسائل القياسيةلا يسمح لك Visual Basic بإيقاف تشغيل الكمبيوتر أو إعادة تشغيله. ومع ذلك، كل هذا يمكن القيام به بسهولة عن طريق استدعاء وظيفة API المناسبة.

توجد جميع الوظائف الموجودة في Windows تقريبًا داخل ملفات DLL ( مكتبة الارتباط الديناميكي). جميع ملفات dll موجودة في النظام مجلد ويندوز. هناك أكثر من 1000 وظيفة لواجهة برمجة التطبيقات (API)، والتي تنقسم إلى أربع فئات رئيسية.

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

استخدام وظائف API في الممارسة العملية

الآن دعنا ننتقل إلى استخدام هذه الوظائف في الممارسة العملية. يجب أولاً الإعلان عن وظائف API التي يتم استدعاؤها في Visual Basic. عند الإشارة إلى ذلك اسم DLLوالوظائف، بالإضافة إلى معلومات حول عدد الوسائط ونوعها.

يتم الإعلان عن إجراءات DLL باستخدام أمر Declare في قسم الإقرارات العامة لوحدة نموذج أو وحدة نمطية قياسية:

قم بتعريف اسم الوظيفة Lib "library" [([ _ متغير [,ByVal,] متغير ]...])] كنوع

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

يخبرك قسم Lib بالمكان الذي تبحث فيه ملف DLLتحتوي على الوظيفة. عند الإشارة إلى مكتبات Windows الأساسية (user32.dll، وkernel32.dll، وgdi.dll)، لا يلزم تضمين الامتداد.

إذا لم يتم تحديد مسار الملف، فسيبدأ استعراض الدليل بالتسلسل التالي

  1. الدليل الذي يحتوي على ملف EXE الخاص بالبرنامج؛
  2. الدليل الحالي؛
  3. دليل نظام ويندوز؛
  4. دليل ويندوز؛
  5. متغير بيئة المسار.

فيما يلي قائمة صغيرة بمكتبات DLL القياسية لنظام التشغيل Windows:

  • advapi.dll - حماية NT والتسجيل والخدمات المتقدمة الأخرى؛
  • comdlg.dll - مربعات الحوار القياسية؛
  • gdi.dll - واجهة جهاز الرسومات؛
  • kernel32.dll - الذاكرة والأقراص والعمليات والموارد؛
  • mpr.dll - الشبكات؛
  • netapi32.dll - مكتبة واجهة برمجة تطبيقات الشبكة؛
  • shell32.dll - غلاف Windows، السحب والإفلات، اختيار الأيقونة؛
  • user32.dll - واجهة المستخدم - النوافذ والقوائم والخطوط والرسائل؛
  • version.dll - التحكم في الإصدار؛
  • winmm.dll - الوسائط المتعددة، والصوت، وعصا التحكم، وأجهزة ضبط الوقت؛
  • Winspoll.dll - مدير الطباعة.

يتم توثيق معظم إجراءات DLL باستخدام تدوين لغة البرمجة C وC++. لتحويل دالة API إلى أمر Declare بنجاح، يجب عليك فهم آلية تمرير الوسيطة. عادةً ما يتم تمرير الوسائط حسب القيمة. في هذه الحالة، يتم وضع الكلمة الأساسية ByVal قبل اسم الوسيطة. إذا تم تمرير الوسيطة حسب المرجع، فسيتم تعيين ByRef.

فيما يلي أصغر قائمة بالوظائف المستخدمة في Visual Basic:

  • BitBlt - نسخ صورة من مركز البيانات الرئيسي إلى آخر؛
  • FindWindow - يعثر على مقبض النافذة التي تحتوي على التسمية التوضيحية المحددة؛
  • GetCursorPos - إرجاع الموضع الحالي لمؤشر الماوس (عالميًا)؛
  • GetDriveType - يقوم بإرجاع نوع محرك الأقراص؛
  • GetForegroundWindow - يُرجع مقبض النافذة النشطة؛
  • SetCursorPos - يضبط موضعًا جديدًا لمؤشر الماوس؛
  • SetVolumeLabel - يغير تسمية القرص؛
  • SetWindowPos - يضبط موضع النافذة بمقبض معين (يمكنك أيضًا استخدام هذه الوظيفة لجعل النافذة أعلى جميع النوافذ الأخرى)؛
  • ShellExecute - يقوم بتشغيل التطبيق المرتبط بالملحق، والذي يحتوي على الملف المحدد(يمكن أيضًا تشغيل التطبيق المحدد فقط)؛
  • ShowCursor - يخفي أو يظهر مؤشر الماوس على الشاشة.

أمثلة على العمل مع التسجيل

أيضا، عند البرمجة في Visual Basic، وفي لغات أخرى، تنشأ مشكلة عندما تحتاج إلى استخدامها سجل ويندوز، ولكن من السهل القيام بذلك باستخدام وظائف واجهة برمجة التطبيقات، على سبيل المثال:

لقراءة معلمة سلسلة، استخدم الدالة GetRegString

مثال:

اختبار خافت كسلسلة اختبار = GetRegString(HKEY_LOCAL_MACHINE، _ "Software\Microsoft\DirectX"، "الإصدار") Form1.Caption = اختبار

لقراءة معلمة DWORD GetRegDWord

مثال:

اختبار خافت كاختبار طويل = GetRegDWord(HKEY_LOCAL_MACHINE، _ "Software\Microsoft\Internet Explorer\AboutURLs"، "الصفحة الرئيسية") Form1.Caption = اختبار

لكتابة معلمة سلسلة، استخدم SetRegString

مثال:

SetRegString HKEY_LOCAL_MACHINE، _ "اختبار البرنامج"، "MyProgram"، "الخيارات"

إذا لم يتم إنشاء المفتاح أو المعلمة، فسيتم إنشاؤه؛ وإذا كان المفتاح أو المعلمة موجودًا بالفعل، فسيتم كتابة القيم الجديدة فوق القيم القديمة.

لكتابة معلمة نوع DWORD، استخدم SetRegDWord

مثال:

SetRegDWord HKEY_LOCAL_MACHINE، _ "اختبار\البرنامج"، "MyProgram"، "555"

لإزالة مفتاح من التسجيل، استخدم وظيفة RemoveRegKey

مثال:

حذف مفتاح التسجيل HKEY_LOCAL_MACHINE، "البرنامج"، "اختبار"، صحيح

المعلمة الثانية - مفتاح الوالدين
المعلمة الثالثة هي True - إذا كان تأكيد الحذف مطلوبًا أو False - إذا لم يكن التأكيد مطلوبًا.

لإزالة قيمة من التسجيل، استخدم الدالة RemoveRegValue

مثال:

حذفRegValue HKEY_LOCAL_MACHINE، _ "Software\Microsoft\Internet Explorer\AboutURLs"، "mozilla"، خطأ

في الواقع، قدرات وظائف API في نظام التشغيلويندوز لا حدود لها تقريبا. دعونا ننتهي من النظر إلى ميزة Visual Basic هذه وأخيرًا نكتب برنامجًا صغيرًا باستخدام وظائف API.

يقوم هذا البرنامج ببساطة بعرض رسالة على الشاشة، قم بلصق الكود التالي:

وظيفة الإعلان الخاص BeginPath Lib "gdi32" (ByVal hdc طالما) إعلان خاص وظيفة EndPath Lib "gdi32" (ByVal hdc طويل) طويل إعلان خاص وظيفة PathToRegion Lib "gdi32" (ByVal hdc طويل) إعلان خاص طويل الدالة SetWindowRgn Lib "user32" (ByVal hWnd As Long، ByVal hRgn As Long، ByVal bRedraw As Boolean) As Long Private Sub Form_Load() Const TEXT = "لقد استخدمت API" Dim hRgn As Long Font.Name = "Times New Roman " Font.Bold = True Font.Size = 60 Width = TextWidth(TEXT) الارتفاع = TextHeight(TEXT) BeginPath hdc طباعة TEXT EndPath hdc hRgn = PathToRegion(hdc) SetWindowRgn hWnd, hRgn, False Move (Screen.Width - Width) / 2 , (ارتفاع الشاشة - الارتفاع) / 2 نهاية فرعية

استخدمنا هنا 4 وظائف (BeginPath، EndPath، PathToRegion، SetWindowRgn)، والتي تقع في قسمين مكتبات dll(جدي32، المستخدم32).

هذا كل شيء الآن!

© 2024 ermake.ru - حول إصلاح أجهزة الكمبيوتر - بوابة المعلومات