Kako Oponašati Miša

Sadržaj:

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

Video: Kako Oponašati Miša

Video: Kako Oponašati Miša
Video: Najbolja klopka za miseve 2024, Maj
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: