تقييم الموضوع :
  • 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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومة :: تعلم كيف تحفظ صورة في My.Settings بدون الإحتياج إلى مسارها! أسامة أحمد 13 6,236 أمس, 01:13 AM
آخر رد: أبو جودة
  [درس فيديو] اضافة ملف مشغل لصفحة html و جافاسكريبت و سي اس اس بفيجوال بيسك.(قد لا اكون اصبت بالتع سعود 1 923 17-04-23, 08:31 AM
آخر رد: سعود
  ربط الفيجوا ل بيسك 2010 بأكسيس 2010 اسلام الكبابى 0 1,826 04-08-21, 01:27 AM
آخر رد: اسلام الكبابى
  [مشروع] مكتبة برمجية بلغة الفيجوال بيسك aljzazy 4 3,785 23-05-20, 02:12 PM
آخر رد: asemshahen5
  [VB.NET] برنامج ستايلات للفيجوال بيسك DK-x 2 5,964 14-08-19, 07:51 PM
آخر رد: أمجد وضاح
  [VB.NET] برمجة dynamic Buttons مع قواعد البيانات mgr21002100 1 2,863 13-08-19, 05:36 PM
آخر رد: asemshahen5
Information [VB.NET] برمجة dynamic Buttons mgr21002100 2 2,699 13-08-19, 05:00 AM
آخر رد: mgr21002100
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 4 64,972 15-03-19, 07:50 PM
آخر رد: العتيق
  [مشروع] تعلم كيف تصنع برنامج لنشر منشورات لحساب الفيس بوك الخاص بك Basil Abdallah 8 6,271 01-07-18, 01:21 AM
آخر رد: YousefOkasha
  خلفية مثل الفجوال بيسك محمود صالح 0 2,201 29-12-17, 12:52 PM
آخر رد: محمود صالح

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


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