Manipulátor typu „myš“je nezbytným atributem každého počítače. Bez něj je nemožné si představit ovládání nebo navigaci v aplikacích. Tento manipulátor aktivně interaguje s uživatelem zobrazováním jeho akcí (pohyby, kliknutí, posouvání) na obrazovce. U některých programovacích úloh může být vyžadována emulace softwarové myši.
Je to nutné
Vývojové prostředí Microsoft Visual C ++. Net (ne nižší než 2003)
Instrukce
Krok 1
Nainstalujte si Microsoft Visual C ++. Net (2003 nebo novější). Existuje několik verzí tohoto vývojového prostředí - placené a bezplatné. Lze je stáhnout z webu vývojáře. Po instalaci vytvořte nový projekt a připojte System. Windows. Forms a System. Drawing, jak je znázorněno níže: using System. Windows. Forms; pomocí System. Drawing;
Krok 2
Chcete-li v operačních systémech Windows pohybovat myší po obrazovce, použijte funkce, které přímo nastavují polohu kurzoru na obrazovce. Použijte například následující kód: Cursor. Position = new Point (x, y); This line will move the cursor to the position specified in the constructor of the Point (x, y) class (where x and y are the souřadnice polohy, kam by měl být umístěn kurzor) … Pokud potřebujete opakovaně nastavit pozici kurzoru, vytvořte jednu instanci třídy Point a použijte metodu pro změnu souřadnic pro ni. Tím se ušetří paměť: Bodový bod = nový Bod (0, 0); Cursor. Position = point. Offset (20, 100); Cursor. Position = point. Offset (40, -20); Tento kód vytvoří objekt třídy Point () se souřadnicemi 0, 0. Druhý řádek posune Point o 20 pixelů v X a 100 pixelů v Y. Aktuální souřadnice, na kterou ukazuje bodový objekt, je 20, 100. Třetí řádek opět dojde k bodu posunu o zadaný počet pixelů (40, respektive -20). Aktuální souřadnice je 60 (20 + 40) v X a 80 (100-20) v Y.
Krok 3
K emulaci kliknutí myší použijte funkce Win32 SendInput () nebo mouse_event (). Chcete-li například programově simulovat kliknutí pravým tlačítkem, použijte následující kód: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // pro snadné použití vytvořte výčet s nezbytnými konstantami (příznaky) //, které definují akce myši: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000}; // použití - klikněte na níže uvedené souřadnice: const int x = 39000; // souřadnice podle Xconst int y = 12000; // souřadnice podle Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Krok 4
Napodobte kliknutí myší odesláním zpráv WM_LBUTTONDOWN a WM_LBUTTONUP pomocí funkce Win API SendMessage (). Například: