Manipulator tipa "miška" je nujen atribut katerega koli računalnika. Brez tega si ni mogoče predstavljati nadzora ali krmarjenja po aplikacijah. Ta manipulator aktivno komunicira z uporabnikom tako, da na zaslonu prikaže njegova dejanja (premike, klike, pomikanje). Za nekatere programske naloge bo morda potrebna emulacija programske miške.
Potrebno je
Razvojno okolje Microsoft Visual C ++. Net (ne nižje od leta 2003)
Navodila
Korak 1
Namestite Microsoft Visual C ++. Net (2003 ali novejši). Obstaja več različic tega razvojnega okolja - plačljivih in brezplačnih. Lahko jih prenesete s spletnega mesta razvijalca. Po namestitvi ustvarite nov projekt in povežite System. Windows. Forms in System. Drawing, kot je prikazano spodaj: z uporabo System. Windows. Forms; z uporabo System. Drawing;
2. korak
Če želite v operacijskih sistemih Windows premikati miško po zaslonu, uporabite funkcije, ki neposredno določijo položaj kazalca na zaslonu. Uporabite na primer naslednjo kodo: Cursor. Position = nova točka (x, y); Ta vrstica bo kazalec premaknila na položaj, določen v konstruktorju razreda Point (x, y) (kjer sta x in y koordinate položaja, kamor naj bo postavljen kazalec) … Če morate položaj kurzorja nastaviti večkrat, ustvarite en primerek razreda Point in uporabite metodo za spreminjanje koordinat zanj. To bo prihranilo pomnilnik: Točka točka = nova točka (0, 0); Cursor. Position = point. Offset (20, 100); Kurzor. Pozition = point. Offset (40, -20); Ta koda ustvari objekt razreda Point () s koordinatami 0, 0. Druga vrstica premakne Točko za 20 slikovnih pik v X in 100 slikovnih pik v Y. Trenutna koordinata, na katero kaže točka, je 20, 100. Tretja vrstica spet se zgodi Offset Point za določeno število slikovnih pik (40 oziroma -20). Trenutna koordinata je 60 (20 + 40) v X in 80 (100-20) v Y.
3. korak
Za posnemanje klika miške uporabite funkciji Win32 SendInput () ali mouse_event (). Na primer, da programsko simulirate desni klik, uporabite naslednjo kodo: // uvozi mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // za lažjo uporabo ustvarite naštevanje s potrebnimi konstantami (zastavicami) //, ki definirajo dejanja miške: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolutno = 0x8000}; // uporaba - kliknite spodnje koordinate: const int x = 39000; // koordinate po 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. Absolutno | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
4. korak
Posnemajte klik miške s pošiljanjem sporočil WM_LBUTTONDOWN in WM_LBUTTONUP s pomočjo funkcije Win API SendMessage (). Na primer, kot je prikazano spodaj: void OnBtPerformClick (pošiljatelj predmeta, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_TPRTMONTTPONTONPTTONON.