الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف استخدم الدالة Setwindowshookex

بدأه boshkash في 20 أغسطس 2008 · 2 رد · 783 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أرجوكم أفيدوني أقوم بعمل برنامج ومن متطلباته أن لا يحق المستخدم في وقت ما أن يستخدم سوي جزء من لوحة المفاتيح وعلمت أن الدالة SetWindowsHookEx تقوم بإرسال واستقبال المفاتيح المضغوطة وتحولها إلي بيئة نظام التشغيل وحتي الآن لم أفهم كيف استخدمها لمنع استخدام اللوحة حتي خارج البرنامج :tantrum:

:ty:

قل لن يصيبنا إلا ما كتب الله لنا

#3

انتبه إلى ما ذكره الأخ المبرمج أحمد.

فيما يتعلق بموضوعك ستحتاج إلى كتابة وظيفة تقوم باستقبال المدخلات من لوحة المفاتيح بدلاً من الوظيفة الخاصة بالنظام بحيث تستخدم الـ hook لتستبدل (نظرياً) الخاصة بالنظام.

كود هذه الوظيفة يعود إليك

لكنه يجب أن يحقق بعض الشروط المبدئية فهي تملك 3 بارامترات

http://msdn.microsoft.com/en-us/library/ms644984(VS.85).aspx

عليك بمعالجتهم حسب ما تراه مناسباً ومن ثم تقوم باستدعاء CallNextHookEx

هناك نوعين من الـ hook

WH_KEYBOARD

WH_KEYBOARD_LL

عليك باستخدام أحدها حسبما تراه سهلاً بالنسبة لك.

مشكلتك ستكون في الكود داخل هذه الوظيفة

برأيي قم بمراجعة أمثلة من CodeProject

فيه أمثله بالعديد من اللغات، استفدت من عدة مقالات فيها كانت الشفرة بالـ C++

هناك الكثير من المواضيع على الانترنت

لا اعلم ان كنت ستحصل على شرح كامل من أجل الفيجوال بيسك.

هذه معلومات أولية عن الموضوع.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة