Manipulator typu „mysz” to niezbędny atrybut każdego komputera. Bez niej nie można sobie wyobrazić sterowania czy nawigacji po aplikacjach. Ten manipulator aktywnie współdziała z użytkownikiem, wyświetlając jego działania (ruchy, kliknięcia, przewijanie) na ekranie. W przypadku niektórych zadań programistycznych może być wymagana emulacja myszy programowej.

Czy to jest to konieczne
Środowisko programistyczne Microsoft Visual C++. Net (nie niższe niż 2003)
Instrukcje
Krok 1
Zainstaluj Microsoft Visual C++. Net (2003 lub nowszy). Istnieje kilka wersji tego środowiska programistycznego - płatnych i bezpłatnych. Można je pobrać ze strony dewelopera. Po instalacji utwórz nowy projekt i połącz System. Windows. Forms i System. Drawing, jak pokazano poniżej: using System. Windows. Forms; za pomocą System. Drawing;
Krok 2
Aby poruszać myszą po ekranie w systemach operacyjnych Windows, użyj funkcji, które bezpośrednio ustawiają pozycję kursora na ekranie. Użyj na przykład następującego kodu: Cursor. Position = new Point (x, y); Ten wiersz przeniesie kursor do pozycji określonej w konstruktorze klasy Point (x, y) (gdzie x i y są współrzędne pozycji, w której należy umieścić kursor) … Jeśli musisz wielokrotnie ustawiać pozycję kursora, utwórz jedną instancję klasy Point i użyj metody zmiany jej współrzędnych. Pozwoli to zaoszczędzić pamięć: Punkt punkt = nowy punkt (0, 0); Kursor. Pozycja = punkt. Przesunięcie (20, 100); Kursor. Pozycja = punkt. Przesunięcie (40, -20); Ten kod tworzy obiekt klasy Point () o współrzędnych 0, 0. Druga linia przesuwa Point o 20 pikseli w X i 100 pikseli w Y. Bieżąca współrzędna wskazywana przez obiekt punktu to 20, 100. Trzecia linia ponownie dzieje się Offset Point o określoną liczbę pikseli (odpowiednio 40 i -20). Obecna współrzędna to 60 (20 + 40) w X i 80 (100-20) w Y.
Krok 3
Użyj funkcji Win32 SendInput() lub mouse_event(), aby emulować kliknięcie myszą. Na przykład, aby programowo symulować kliknięcie prawym przyciskiem myszy, użyj następującego kodu: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // dla ułatwienia użytkowania utwórz wyliczenie z niezbędnymi stałymi (flagami) // definiującymi akcje myszy: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000 }; //użyj - kliknij na współrzędne ustawione poniżej: const int x = 39000; // współrzędne według Xconst int y = 12000; // współrzędne według 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. RightDown, x, y, 0, UIntPtr. Zero); bezwzględne | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Krok 4
Emuluj kliknięcie myszą, wysyłając wiadomości WM_LBUTTONDOWN i WM_LBUTTONUP za pomocą funkcji Win API SendMessage(). Na przykład, jak pokazano poniżej: void OnBtPerformClick (object sender, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONR; }P