التبديل بين زري الفأرة برمجيا

This article is available in English too, check it out here.

نظرة خاطفة

درسنا اليوم يتكلم عن طريقة التبديل بين زري الفأرة عن طريق جعل زر الفأرة الأيسر يعمل عمل الأيمن والأيمن يعمل عمل الأيسر وهكذا.

مقدمة

يمكنك التبديل بين زري الفأرة عن طريق لوحة تحكم الويندوز Control Panel عن طريق خيارات الفأرة Mouse. نلاحظ في هذه الشاشة أنه يمكنك التبديل بين زري الفأرة عن طريق اختيار “Switch primary and secondary buttons”.

Swap Mouse Buttons

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

لعمل ذلك برمجيا ستحتاج إلى استخدام دالة من دوال الويندوز أي Win32 API Function فإنه -للأسف- بيئة الدوت نت لا توفر لك إمكانية للتبيدل بين الزرين فلهذا سوف نستخدم دالة من دوال الويندوز وهذه الدالة هي SwapMouseButtons. وهذه الدالة معرفة كالتالي:

BOOL SwapMouseButton(
    BOOL fSwap
);

نلاحظ أن هذه الدالة من الدوال البسيطة جدا فهي تأخذ مدخل Argument واحد وهو منطقي Boolean يأخذ قيمة إما True وذلك للتبديل أو False للاسترجاع. وتقوم هذه الدالة بإرجاع أيضا إما True وذلك إذا نجحت الدالة ولم يحدث أي خطأ، أو False إذا حدث خطأ في الدالة وفشلت العملية.

التطبيق

لكي يمكنك النداء على دالة من دوال الويندوز يجب عليك الأول كتابة تعريفها قبل النداء عليها. ويسمى تعريفها بـ PInvoke Method ويكون تعريفها كالتالي:

إذا كنت تستخدم C# يجب عليك إضافة جملة using للـ Namespace المسمى بـ System.Runtime.InteropServicesو ذلك للعنصر DllImport أو على الأقل قم بكتابة اسم العنصر بالكامل أي مع الـ Namespace الخاصة به.

لاحظ أن السطور التالية لا يمكن تغييرها بل هي قاعدة ثابتة في تعريف دوال الويندوز في بيئة الدوت نت.

// C# Code
[DllImport("user32.dll")]
static extern bool SwapMouseButton(bool fSwap);
' VB.NET
Declare Auto Function SwapMouseButton Lib "user32.dll" _
    (ByVal fSwap As Boolean) As Boolean

الكود التالي هو عبارة عن دالتين الأول تبدل الأزرار فتجعل الزر الأيمن هو الأساسي Primary أي بدلا من الأيسر والأيسر بدلا من الأيمن، والدالة الأخرى تعكس هذا فتجعله طبيعيا الأيسر هو الأساسي والأيمن هو الثانوي Secondary.

// C# Code
public void MakeRightButtonPrimary()
{
    SwapMouseButton(true);
}
public void MakeLeftButtonPrimary()
{
    SwapMouseButton(false);
}
' VB.NET Code
Public Sub MakeRightButtonPrimary()
    SwapMouseButton(True)
End Sub
Public Sub MakeLeftButtonPrimary()
    SwapMouseButton(False)
End Sub

خاتمة

تعلمنا في هذ الدرس بعض الأشياء:

  1. كيفية التبديل بين زري الفأرة.
  2. دالة التبديل الخاصة بالويندوز.
  3. كيفية النداء على دوال الويندوز.

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

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

اخترنا لك:

أحدث المواضيع:

هل أعجبتك؟ شارك بها...
  • Pingback: Programmatically Swapping Mouse Buttons | Just Like a Magic()

  • شكراً جزيلاً عالكود الرائع ..

    مدونة رائعة ومميزة ,, بالتقدم والازدهار ان شاء الله

    هل يمكنني اخي عمل تبادل إعلاني نصي مع مدونتك الرائعة ؟؟

    مدونتي “دوت نت للمبتدئين” لتعليم البرمجة بالدوت نت
    http://dotnet4beg.blogspot.com/

    • بس كده؟ ده إحنا لينا الشرف، نصي وجرافيك وكل حاجة :) هبعتلك ميل