تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الآن تعلم برمجة مفتاح ساخن HotKey بالفيجوال بيسك دوت نت
#1
كاتب الموضوع : م إسماعيل علي النجار

السلام عليكم ورحمة الله وبركاته

كلكم تعرفون المفتاح الساخن والذي يقوم بأمر معين لأحد البرامج
مثلاً عندما تكبس WinLogo + R يشتغل عندك الـ Run
أو عندما تكبس Alt + M لبرنامج TuneUp Memory Optimizer
فيقوم بتنظيف الذاكرة يدوياً...وهناك الكثير من الأمثلة

على كل حال اليوم سنتعلم كيف نبرمج أي مفتاح ونخصصه لبرنامجنا ليقوم بأمر معين

ملاحظة: ستكون البرمجة لـ Visual Basic .Net

بعد ما نقتح مشروعا جديدا سنقوم ببرمجة المفتاح Alt+L

نقوم بتعريف هذه الثوابت ونسند لها القيم:


كود:

Public Const MOD_ALT As Integer = &H1 'لتعريف مفتاح Alt


Public Const VK_L As Integer = &H4C 'لتعريف المفتاح L

Public Const WM_HOTKEY As Integer = &H312


ومن ثم نعرف الدوال التالية:




كود:

'نعرف دوال API التالية


'لتسجيل المفتاح الساخن

Public Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal ID As Integer, ByVal fsModifires As Integer, ByVal vKey As Integer) As Integer

'لحذف المفتاح الساخن

Public Declare Function UnRegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal ID As Integer) As Integer


سوف نستدعي تلك الدوال لتسجبل المفتاح وحذفه بعد إنهاء البرنامج



الآن نكتب الكود التالي والذي سيقوم بتنفيذ أي أمر عند ضغط المفتاح الساخن:




كود:
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_HOTKEY Then



MsgBox(DateTime.Now.Second.ToString)

'ضعالكودالذي يناسبك هنا

End If


MyBase.WndProc(m)

End Sub


الآن وفي حدث Load نضع الكود التالي والذي يقوم بتسجيل المفتاح الساخن:





كود:
RegisterHotKey(Me.Handle, 9, MOD_ALT, VK_L)



كما ترى فإن الثابت MOD_ALT الذي عرفناه مسبقا فيدل على المفتاح


Alt ونستطيع أن تضع مفتاحا أخر مثل Shift أو Ctrl



وانتظر قليلا عزيزي المبرمج فسأزدوك بجدول لتعرف كل المفاتيح على الكيبورد



أما VK_L فهو الثابت الذي يدل على المفتاح L وأيضا تستطيع أن تضع أي مفتاح آخر من خلال الجدول الذي سأعطيك إياه.



ولكن يجب الانتباه بأنه يجب أن نحذف المفتاح عند انتهاء البرنامج


لذلك نضع في حدث FormClosing الكود التالي:




كود:
UnRegisterHotKey(Me.Handle, 9)



عزيزي المبرمج المشاغب لاحظ الرقم 9 الذي وضعناه في كلا الكودين السابقين


وهذا الرقم هو الذي يميز مقبض نافذة برنامجك عن غيره


وسوف تستخدمه لحذف المفتاح الساخن الخاص بمقبض نافذة برنامجك


لهذا لا تنسى بأن تضع الرقم ذاته الذي وضعته في كود إنشاء المفتاح


عند حذف المفتاح قبل إنهاء التطبيق




وبهذا أكون قد أنهيت الشرح وأترككم مع الروابط الملحقة:



رابط لصفحة تحوي جميع تعاريف المفاتيح على الكيبورد:


http://msdn.microsoft.com/en-us/library/aa926323.aspx


عاشق الابداع
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 0 256 09-07-16, 08:30 PM
آخر رد: mohamed atef2018
  [نقاش] أرجو التصويت لابدا شرح برمجة اطار محادثة بين طرف واطراف على الاتصال المحلي او العام سعود 13 3,648 21-06-16, 09:31 PM
آخر رد: سعود
  [سؤال] اريد كود بالفيجوال بيسك 2008 يقراء سريال المازربورد nabil.1710 5 619 13-06-16, 12:16 AM
آخر رد: محمد سالم المحترف
  هل تعلم؟ Aly El-Haddad 7 1,258 17-08-15, 01:59 AM
آخر رد: عبد الله
  [حصرياً] و لأول مرة : درس برمجة لعبة x-o أسامة أحمد 4 1,442 04-03-15, 12:46 PM
آخر رد: abulayth
  حصريا لمنتدى فيجوال بيسك لكل العرب شرح مكتبه علي سبايسى (alysbisydata) alimse 9 2,504 03-01-15, 04:10 PM
آخر رد: abulayth
  برمجة قواعد البيانات sql server + vb.net ابوهديل 1 5,821 13-02-14, 08:26 PM
آخر رد: Omar Mekkawy
  درس عمل زر جميل الشكل بالفيجوال بيسك boty 5 1,223 22-08-13, 05:15 PM
آخر رد: زهرة الازهار_mybb_import9220
  بشرى لكل من يريد تعلم البرمجة بالفيجوال بيسك دوت نت arbtech 8 1,590 21-08-13, 11:32 PM
آخر رد: arbtech
  تعلم أستخدام My.Settings لحفظ التغييرات عند الإغلاق Aly El-Haddad 15 2,718 13-06-13, 05:32 PM
آخر رد: ابراهيم

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم