Sichqonga Qanday Taqlid Qilish Kerak

Mundarija:

Sichqonga Qanday Taqlid Qilish Kerak
Sichqonga Qanday Taqlid Qilish Kerak

Video: Sichqonga Qanday Taqlid Qilish Kerak

Video: Sichqonga Qanday Taqlid Qilish Kerak
Video: Sichqon va kalamushdan qutilmoqchimisiz? 2024, May
Anonim

"Sichqoncha" turidagi manipulyator har qanday kompyuterning zarur atributidir. Usiz, boshqaruvni yoki ilovalar orqali navigatsiyani tasavvur qilishning iloji yo'q. Ushbu manipulyator foydalanuvchi bilan uning harakatlarini (harakatlari, sekin urish, siljitish) ekranga chiqarish orqali faol ravishda o'zaro ta'sir qiladi. Ba'zi dasturlash vazifalari uchun dasturiy ta'minot sichqonchasini taqlid qilish talab qilinishi mumkin.

Sichqonga qanday taqlid qilish kerak
Sichqonga qanday taqlid qilish kerak

Bu zarur

Microsoft Visual C ++. Net ishlab chiqish muhiti (2003 yildan kam bo'lmagan)

Ko'rsatmalar

1-qadam

Microsoft Visual C ++. Net-ni o'rnating (2003 yoki undan keyingi versiyalar). Ushbu rivojlanish muhitining bir nechta versiyalari mavjud - pulli va bepul. Ularni ishlab chiquvchining veb-saytidan yuklab olish mumkin. O'rnatishdan so'ng, yangi loyiha yarating va System. Windows. Forms va System. Drawing-ni quyidagi tarzda ulang: System. Windows. Forms yordamida; System. Drawing yordamida;

2-qadam

Windows operatsion tizimlarida sichqonchani ekran bo'ylab harakatlantirish uchun kursorning ekrandagi o'rnini to'g'ridan-to'g'ri o'rnatadigan funktsiyalardan foydalaning. Masalan, quyidagi koddan foydalaning: Cursor. Position = yangi nuqta (x, y); Ushbu satr kursorni Point (x, y) sinfining konstruktorida ko'rsatilgan joyga olib boradi (bu erda x va y kursor joylashtirilishi kerak bo'lgan pozitsiyaning koordinatalari) … Agar kursor o'rnini qayta-qayta o'rnatishingiz kerak bo'lsa, Point sinfining bitta nusxasini yarating va u uchun koordinatalarni o'zgartirish usulidan foydalaning. Bu xotirani tejashga yordam beradi: Point point = new Point (0, 0); Kursor. Pozitsiya = nuqta. Offset (20, 100); Kursor. Pozitsiya = nuqta. Offset (40, -20); Ushbu kod 0 (0) koordinatali Point () sinf ob'ekti yaratadi. Ikkinchi satr Xni 20 pikselga va Y da 100 pikselga siljitadi. Nuqta ob'ekti ko'rsatgan joriy koordinat 20, 100. Uchinchi qator yana belgilangan piksellar soniga ko'ra Ofset nuqtasi sodir bo'ladi (mos ravishda 40 va -20). Hozirgi koordinata X da 60 (20 + 40) va Yda 80 (100-20) ga teng.

3-qadam

Sichqoncha tugmachasini taqlid qilish uchun Win32 SendInput () yoki mouse_event () funktsiyalaridan foydalaning. Masalan, sichqonchaning o'ng tugmachasini dasturiy ravishda simulyatsiya qilish uchun quyidagi koddan foydalaning: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // foydalanish qulayligi uchun sichqonchaning harakatlarini belgilaydigan // kerakli konstantalar (bayroqlar) bilan sanoq yarating: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000}; // use - quyida o'rnatilgan koordinatalarni bosing: const int x = 39000; // koordinatalari Xconst int y = 12000; // koordinatalari 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. Mutlaq | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);

4-qadam

Win API SendMessage () funktsiyasi yordamida WM_LBUTTONDOWN va WM_LBUTTONUP xabarlarini yuborish orqali sichqonchani bosishni taqlid qiling. Masalan, quyida ko'rsatilgandek: void OnBtPerformClick (ob'ekt jo'natuvchisi, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_PBTON;

Tavsiya: