Jak Emulować Mysz

Spisu treści:

Jak Emulować Mysz
Jak Emulować Mysz

Wideo: Jak Emulować Mysz

Wideo: Jak Emulować Mysz
Wideo: Informatyka 4# Nie działa mysz - sterowanie kursorem przy użyciu klawiatury 2024, Może
Anonim

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.

Jak emulować mysz
Jak emulować mysz

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

Zalecana: