Kako Oponašati Miša

Kako Oponašati Miša
Kako Oponašati Miša
Anonim

Manipulator tipa "miš" neophodan je atribut svakog računara. Bez toga je nemoguće zamisliti kontrolu ili navigaciju kroz aplikacije. Ovaj manipulator aktivno komunicira s korisnikom prikazujući njegove radnje (pokrete, klikove, pomicanje) na ekranu. Za neke programske zadatke možda će biti potrebna softverska emulacija miša.

Kako oponašati miša
Kako oponašati miša

Neophodno je

Microsoft Visual C ++. Net razvojno okruženje (ne niže od 2003)

Instrukcije

Korak 1

Instalirajte Microsoft Visual C ++. Net (2003 ili noviji). Postoji nekoliko verzija ovog razvojnog okruženja - plaćene i besplatne. Oni se mogu preuzeti sa web lokacije programera. Nakon instalacije stvorite novi projekt i povežite System. Windows. Forms i System. Drawing kao što je prikazano dolje: pomoću System. Windows. Forms; pomoću System. Drawing;

Korak 2

Za pomicanje miša preko zaslona u operativnim sistemima Windows koristite funkcije koje direktno postavljaju položaj kursora na ekranu. Koristite, na primjer, sljedeći kod: Cursor. Position = nova točka (x, y); Ova linija će pomaknuti kursor na položaj naveden u konstruktoru klase Point (x, y) (gdje su x i y koordinate položaja na kojem treba postaviti kursor) … Ako trebate više puta postaviti položaj kursora, kreirajte jednu instancu klase Point i koristite metodu za promjenu koordinata za nju. Ovo će uštedjeti memoriju: Point point = nova točka (0, 0); Cursor. Position = point. Offset (20, 100); Cursor. Position = point. Offset (40, -20); Ovaj kôd stvara objekt klase Point () s koordinatama 0, 0. Drugi redak pomiče Točku za 20 piksela u X i 100 piksela u Y. Trenutna koordinata na koju pokazuje objekt točke je 20, 100. Treća linija opet se događa Offset Point za navedeni broj piksela (40 odnosno -20). Trenutna koordinata je 60 (20 + 40) u X i 80 (100-20) u Y.

Korak 3

Koristite funkcije Win32 SendInput () ili mouse_event () za emulaciju klika miša. Na primjer, da programski simulirate desni klik, upotrijebite sljedeći kôd: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // za lakšu upotrebu stvorite nabrajanje sa potrebnim konstantama (zastavicama) // koje definiraju akcije miša: [Zastave] enum MouseFlags {Premjesti = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Apsolutno = 0x8000}; // upotreba - kliknite na dolje postavljene koordinate: const int x = 39000; // koordinate Xconst int y = 12000; // koordinate Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_lags. Absolute | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);

Korak 4

Emulirajte klik mišem slanjem WM_LBUTTONDOWN i WM_LBUTTONUP poruka pomoću funkcije Win API SendMessage (). Na primjer, kao što je prikazano dolje: void OnBtPerformClick (pošiljatelj objekta, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WMRTBPTTONPTTON. PMR.

Preporučuje se: