Kaip Mėgdžioti Pelę

Turinys:

Kaip Mėgdžioti Pelę
Kaip Mėgdžioti Pelę

Video: Kaip Mėgdžioti Pelę

Video: Kaip Mėgdžioti Pelę
Video: LRT pamokėlės. Kaip paukščiai čiulba mums pasakas? 2024, Gegužė
Anonim

„Pelės“tipo manipuliatorius yra būtinas bet kurio kompiuterio atributas. Be jo neįmanoma įsivaizduoti valdymo ar naršymo per programas. Šis manipuliatorius aktyviai bendrauja su vartotoju, ekrane rodydamas jo veiksmus (judesius, paspaudimus, slinkimą). Kai kurioms programavimo užduotims atlikti gali reikėti programinės įrangos pelės emuliacijos.

Kaip mėgdžioti pelę
Kaip mėgdžioti pelę

Tai būtina

„Microsoft Visual C ++. Net“kūrimo aplinka (ne žemesnė nei 2003 m.)

Nurodymai

1 žingsnis

Įdiekite „Microsoft Visual C ++. Net“(2003 m. Ar naujesnę versiją). Yra keletas šios kūrimo aplinkos versijų - mokama ir nemokama. Juos galima atsisiųsti iš kūrėjo svetainės. Po įdiegimo sukurkite naują projektą ir prijunkite „System. Windows. Forms“ir „System. Drawing“, kaip parodyta žemiau: naudodami „System. Windows. Forms“; naudojant „System. Drawing“;

2 žingsnis

Norėdami perkelti pelę per „Windows“operacinių sistemų ekraną, naudokite funkcijas, kurios tiesiogiai nustato žymeklio padėtį ekrane. Pvz., Naudokite šį kodą: žymeklis. Pozicija = naujas taškas (x, y); Ši eilutė žymeklį perkels į vietą, nurodytą taško (x, y) klasės konstruktoriuje (kur x ir y yra vietos, kur turėtų būti žymeklis, koordinatės) … Jei reikia pakartotinai nustatyti žymeklio padėtį, sukurkite vieną „Point“klasės egzempliorių ir naudokite jo koordinačių keitimo metodą. Tai padės sutaupyti atminties: taško taškas = naujas taškas (0, 0); Žymeklis. Pozicija = taškas. Poslinkis (20, 100); Žymeklis. Pozicija = taškas. Poslinkis (40, -20); Šis kodas sukuria klasės „Point“() objektą, kurio koordinatės yra 0, 0. Antroji eilutė perkelia tašką 20 taškų X ir 100 taškų Y taške. Dabartinė taško objekto nurodyta koordinatė yra 20, 100. Trečioji eilutė vėl įvyksta poslinkio taškas nurodytu taškų skaičiumi (atitinkamai 40 ir -20). Dabartinė koordinatė yra 60 (20 + 40) X ir 80 (100-20) Y.

3 žingsnis

Norėdami imituoti pelės paspaudimą, naudokite Win32 SendInput () arba mouse_event () funkcijas. Pvz., Programiškai imituojant dešinįjį paspaudimą, naudokite šį kodą: // importuoti mouse_event (): [DllImport ("User32.dll")] statinis išorinis negaliojantis mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); //, kad būtų patogiau naudoti, sukurkite sąrašą su būtinomis konstantomis (vėliavomis) //, apibrėžiančiais pelės veiksmus: [Vėliavos] surašykite MouseFlags {Perkelti = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absoliutus = 0x8000}; // naudokite - spustelėkite toliau nurodytas koordinates: const int x = 39000; // koordinatės pagal Xconst int y = 12000; // Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero) koordinatės; mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_event (mouse_event). Absoliutus | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);

4 žingsnis

Imituokite pelės paspaudimą siųsdami WM_LBUTTONDOWN ir WM_LBUTTONUP pranešimus naudodami „Win API SendMessage“) funkciją. Pavyzdžiui, kaip parodyta žemiau: void OnBtPerformClick (objektų siuntėjas, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONUP)

Rekomenduojamas: