Manipulator tipa "miš" neophodan je atribut svakog računala. Bez toga je nemoguće zamisliti upravljanje 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.
Nužno je
Microsoft Visual C ++. Net razvojno okruženje (ne niže od 2003)
Upute
Korak 1
Instalirajte Microsoft Visual C ++. Net (2003 ili noviji). Postoji nekoliko verzija ovog razvojnog okruženja - plaćene i besplatne. Mogu se preuzeti s web mjesta programera. Nakon instalacije izradite 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 operacijskim sustavima Windows koristite funkcije koje izravno postavljaju položaj pokazivača na zaslonu. Koristite, na primjer, sljedeći kod: Cursor. Position = nova točka (x, y); Ovaj će redak pomaknuti kursor na položaj naveden u konstruktoru klase Point (x, y) (gdje su x i y vrijednost koordinate položaja na kojem treba postaviti pokazivač) … Ako trebate više puta postaviti položaj kursora, stvorite jedan primjerak klase Point i upotrijebite metodu za promjenu koordinata za nju. Ovo će uštedjeti memoriju: Točka točka = nova točka (0, 0); Kursor. Position = point. Offset (20, 100); Kursor. 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ći redak 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.
3. korak
Upotrijebite funkcije Win32 SendInput () ili mouse_event () za oponašanje klika miša. Na primjer, za programsku simulaciju desnog klika 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 jednostavniju upotrebu stvorite nabrajanje s potrebnim konstantama (zastavicama) // koje definiraju radnje miša: [Zastave] enum MouseFlags {Premjesti = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000}; // upotreba - kliknite na koordinate dolje postavljene: 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. Apsolutno | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
4. korak
Emulirajte klik mišem slanjem WM_LBUTTONDOWN i WM_LBUTTONUP poruka pomoću funkcije Win API SendMessage (). Na primjer, kao što je prikazano u nastavku: void OnBtPerformClick (pošiljatelj objekta, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WMRTBPTTONPTTONONTON;