وينابي (ويندوز أبي) هو مجموعة من الوظائف والواجهات التي يقدمها نظام التشغيل ويندوز لتطوير التطبيقات لذلك. واحدة من الجوانب الهامة للبرمجة باستخدام وينابي هو القدرة على التحكم في ضربات المفاتيح على لوحة المفاتيح.
يمكن استخدام الضغط على مفتاح على لوحة المفاتيح في مهام مختلفة ، مثل تطوير البرامج باستخدام مفاتيح الاختصار أو محاكاة ضغطات المفاتيح لأتمتة إجراءات المستخدم. للعمل مع لوحة المفاتيح في وينابي ، يمكنك استخدام وظائف من مكتبة المستخدم32.دلل .
واحدة من الوظائف الرئيسية التي تسمح لك لمعالجة ضربات المفاتيح في وينابي هي وظيفة جيتاسينكيستات. تتيح لك هذه الوظيفة التحقق من حالة مفتاح معين على لوحة المفاتيح في وقت معين. يقوم بإرجاع قيمة تشير إلى ما إذا كان المفتاح مضغوطا أم لا.
مثال على استخدام وظيفة جيتاسينكيستات:
// التحقق من حالة المفتاح" أ"
إذا (جيتاسينكيستات ('أ') & 0 * 8000) {
// يتم الضغط على المفتاح" أ"
}
آخر {
// لا يتم الضغط على المفتاح" أ"
}
يمكنك أيضا استخدام وينابي لإرسال ضربات المفاتيح يحتذى على لوحة المفاتيح باستخدام وظيفة كيبد_فنت. تتيح لك هذه الوظيفة محاكاة الضغط على مفتاح وتحريره برمز مسح محدد. وبالتالي ، من الممكن أتمتة إجراءات المستخدم عن طريق محاكاة ضغطات مفاتيح لوحة المفاتيح.
- أساسيات استخدام المفاتيح في وينابي
- تسجيل معالج ضغط المفاتيح
- معالجة ضغطات المفاتيح في نافذة
- تسجيل أحداث لوحة المفاتيح في السجل
أساسيات استخدام المفاتيح في وينابي
وينابي (واجهة برمجة تطبيقات ويندوز) يوفر وظائف وأساليب مختلفة للعمل مع مفاتيح على لوحة المفاتيح. عند استخدام المفاتيح في وينابي ، تحتاج إلى الانتباه إلى الجوانب الرئيسية التالية:
| وظيفة / طريقة | الوصف |
|---|---|
جيتاسينكيستات | ، إذا تم الضغط عليه. |
جيتكيستات | ، إذا تم الضغط عليه. بالإضافة إلى ذلك ، يتلقى معلومات حول ما إذا كان المفتاح قد تم الضغط عليه منذ آخر مكالمة لهذه الوظيفة. |
جيتكيبوارد ستيت | يسمح لك بالحصول على حالة جميع مفاتيح لوحة المفاتيح. نتيجة الوظيفة عبارة عن مصفوفة ، يشير كل عنصر منها إلى حالة مفتاح واحد. |
سيتكيبوارد ستيت | يسمح لك بتعيين حالة جميع مفاتيح لوحة المفاتيح. يقبل مصفوفة ، يحدد كل عنصر منها حالة مفتاح واحد. |
كيبد_الحدث | يسمح لك بمحاكاة الضغط على مفتاح لوحة المفاتيح أو تحريره. يقبل معلمة تشير إلى رمز المفتاح المراد نمذجته. |
عند استخدام هذه الوظائف والأساليب ، من المهم مراعاة سياق تنفيذ البرنامج. على سبيل المثال ، إذا كان البرنامج يعمل في الخلفية أو في وضع لم يتم فيه تسجيل نافذة التطبيق ، فقد لا تعمل بعض الوظائف أو تعمل بشكل غير صحيح.
وينبغي أيضا أن نتذكر أن استخدام وظائف وأساليب للعمل مع مفاتيح في وينابي يتطلب دراسة مفصلة للوثائق والوصول السليم إليها. يمكن أن يؤدي الاستخدام غير السليم للوظائف إلى التشغيل غير الصحيح للبرنامج أو فشل النظام.
تسجيل معالج ضغط المفاتيح
لتسجيل معالج ضغط المفاتيح باستخدام وينابي ، اتبع الخطوات التالية:
- قم بإنشاء دالة عامة أو طريقة فئة ستكون معالج ضغط المفاتيح.
- تسجيل المعالج باستخدام وظيفة ريجيستيرهوتكي. تأخذ هذه الوظيفة عدة معلمات: معرف مفتاح التشغيل السريع والمعدلات (على سبيل المثال ، مود_كونترول أو مود_الت) ورمز المفتاح.
- في الوظيفة الرئيسية للبرنامج ، استدعاء وظيفة اعتراض الرسالة ، على سبيل المثال ، جيتمسيج أو بيكمسيج ، بحيث يتلقى التطبيق رسائل ضغط المفاتيح وينقلها إلى معالج مسجل.
مثال على استخدام وظيفة ريجيستيرهوتكي لتسجيل معالج ضغط المفاتيح:
في هذا المثال ، يتم إنشاء مفتاح الاختصار العالمي مع معرف 1 ، معدل مودكونترول ورمز المفتاح فك_أ (مفتاح "أ"مع مفتاح" كترل " الضغط).
معالجة ضغطات المفاتيح في نافذة
في وينابي ، هناك آلية خاصة لمعالجة ضربات المفاتيح في النافذة. للقيام بذلك ، تحتاج إلى تسجيل وظيفة رد الاتصال وتحديده كمعالج لرسائل ضغط المفاتيح.
سيتم استدعاؤها في كل مرة يتم فيها تلقي رسالة جديدة في النافذة.
يمكن التحقق من معلمات هذه الرسائل لتحديد المفتاح الذي تم الضغط عليه أو إصداره.
، الذي يعالج الرسائل حول الضغط على المفاتيح وتحريرها:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)break;
{
// Обработка отпускания клавиши
break;
- {
- }
- }
- Внутри блока
case WM_KEYDOWN
يمكن معالجة هذه الرسائل وتنفيذ الإجراءات اللازمة.