يعتبر معالج نوع "الماوس" سمة ضرورية لأي جهاز كمبيوتر. بدونها ، من المستحيل تخيل التحكم أو التنقل من خلال التطبيقات. يتفاعل هذا المعالج بنشاط مع المستخدم من خلال عرض أفعاله (الحركات والنقرات والتمرير) على الشاشة. بالنسبة لبعض مهام البرمجة ، قد تكون محاكاة فأرة البرامج مطلوبة.
انه ضروري
بيئة تطوير Microsoft Visual C ++. Net (ليست أقل من 2003)
تعليمات
الخطوة 1
قم بتثبيت Microsoft Visual C ++. Net (2003 أو أحدث). هناك عدة إصدارات من بيئة التطوير هذه - مدفوعة ومجانية. يمكن تنزيلها من موقع المطور. بعد التثبيت ، قم بإنشاء مشروع جديد وقم بتوصيل System. Windows. Forms و System. Drawing كما هو موضح أدناه: using System. Windows. Forms؛ باستخدام System. Drawing ؛
الخطوة 2
لتحريك الماوس عبر الشاشة في أنظمة تشغيل Windows ، استخدم الوظائف التي تعين مباشرة موضع المؤشر على الشاشة. استخدم ، على سبيل المثال ، الكود التالي: Cursor. Position = new Point (x، y)؛ هذا السطر سينقل المؤشر إلى الموضع المحدد في منشئ فئة Point (x، y) (حيث x و y هما إحداثيات الموضع الذي يجب وضع المؤشر فيه) … إذا كنت بحاجة إلى تعيين موضع المؤشر بشكل متكرر ، فأنشئ مثيلًا واحدًا لفئة Point واستخدم طريقة تغيير الإحداثيات لها. سيوفر هذا الذاكرة: Point point = new Point (0، 0)؛ Cursor. Position = point. Offset (20 ، 100) ؛ Cursor. Position = point. Offset (40، -20) ؛ ينشئ هذا الرمز كائنًا من الفئة Point () بإحداثيات 0 ، 0. السطر الثاني يغير النقطة بمقدار 20 بكسل في X و 100 بكسل في Y. الإحداثي الحالي المشار إليه بواسطة كائن النقطة هو 20 ، 100. السطر الثالث يحدث مرة أخرى Offset Point بالعدد المحدد من البكسل (40 و -20 ، على التوالي). الإحداثي الحالي هو 60 (20 + 40) في X و 80 (100-20) في Y.
الخطوه 3
استخدم الدالتين Win32 SendInput () أو mouse_event () لمضاهاة النقر بالماوس. على سبيل المثال ، لمحاكاة نقرة بزر الماوس الأيمن برمجيًا ، استخدم الكود التالي: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags، int dx، int dy، int dwData، UIntPtr dwExtraInfo) ؛ // لسهولة الاستخدام ، أنشئ تعدادًا بالثوابت الضرورية (الأعلام) // التي تحدد إجراءات الماوس: [الإشارات] تعداد MouseFlags {Move = 0x0001، LeftDown = 0x0002، LeftUp = 0x0004، RightDown = 0x0008، RightUp = 0x0010، Absolute = 0x8000}؛ // استخدم - انقر فوق الإحداثيات المحددة أدناه: const int x = 39000؛ // إحداثيات Xconst int y = 12000 ؛ // إحداثيات بواسطة Ymouse_event (MouseFlags. Absolute | MouseFlags. Move، x، y، 0، UIntPtr. Zero)؛ mouse_event (MouseFlags. Absolute | MouseFlags. RightDown، x، y، 0، UIntPtr. Zero)؛ Mouse_event (MouseFlags. مطلق | MouseFlags. RightUp، x، y، 0، UIntPtr. Zero) ؛
الخطوة 4
قم بمحاكاة النقر بالماوس عن طريق إرسال رسائل WM_LBUTTONDOWN و WM_LBUTTONUP باستخدام وظيفة Win API SendMessage (). على سبيل المثال ، كما هو موضح أدناه: باطل OnBtPerformClick (مرسل الكائن ، EventArgs e) {SendMessage (btDemo. Handle، Messages. WM_LBUTTONDOWN، MK_LBUTTON، IntPtr. Zero)؛ SendMessage (btDemo. Handle، Messages. WM_LBUTTONUP، MKPTONR؛}