سؤال

وأنا أحاول أن جعل نافذة يغلق عند النقر فوق خارجها ، وفي الوقت الراهن أنا أبحث في القيام بذلك عن طريق التعامل مع وظيفة WndProc.

وأي من رسائل انني اتلقى حتى الآن يبدو مفيدا، ولكن هناك عدد قليل أنا لا أفهم على الإطلاق. ماذا رموز 0x0118، 0xC123، 0xC128 و0xC12E تمثل؟

هل كانت مفيدة؟

المحلول

و0x0118: WM_SYSTIMER (غير موثق) تستخدم ليومض الإقحام

والثلاثة الأخرى يجب أن يكون تطبيق رسائل محددة (أي شيء في نطاق 0xC000 إلى 0xFFFF) لذلك لن تجد تلك المحددة في أي مكان.

نصائح أخرى

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

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

A <م> حقا طريقة سهلة سيكون لمجرد إغلاق النموذج الخاص بك عندما يكون مفعل.

تعديل : ل

وعذرا. أنا فقط أدركت أنني لم تجب سؤال مباشر لتخبره عن معرفات الرسالة. لم يتم تعريف رسالة 0x118 في winuser.h، لذلك أفترض انها ID رسالة غير الشرعيين. معرفات الرسالة في 0xC000 مجموعة إلى 0xFFFF عبارة عن رسائل المعرفة من قبل التطبيق. يتم إرجاع هذه المعرفات التي كتبها RegisterWindowMessage.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top