Chciałbym programowo przenieść i kliknąć myszą za pomocą interfejsu API Windows w C. Przeszukałem google high i low i nie mogę znaleźć samouczków sendInput dla zwykłego C. Wszystko, co mogę znaleźć, to C#/C++. Mam niewielkie doświadczenie z interfejsem API systemu Windows i chciałbym, aby świetny samouczek obejmował sendInput! Dzięki!za pomocą myszy z sendInput w C
Odpowiedz
Hans Passant miał rację, kod C++ był prawie identyczny. Oto, co otrzymałem:
INPUT input;
input.type = INPUT_MOUSE;
input.mi.mouseData = 0;
input.mi.dx = x * (65536/GetSystemMetrics(SM_CXSCREEN)); //x being coord in pixels
input.mi.dy = y * (65536/GetSystemMetrics(SM_CYSCREEN)); //y being coord in pixels
input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE;
SendInput(1, &input, sizeof(input));
Jedna bardzo ważna rzecz, na którą należy zwrócić uwagę to, że powinieneś zmusić 65536 do unoszenia się, w przeciwnym razie konwersja rozmiaru ekranu wyłączy się o kilka pikseli. 65536.0f dla lepszej dokładności. –
@ Error454 Czy wiesz, dlaczego dx i dy muszą mieć ten dziwny format absolutnego ruchu? Względny ruch z drugiej strony wymaga, aby dx i dy były czystymi pikselami. – Bitterblue
@ mini-me Po prostu sposób, w jaki msft zdecydował się robić rzeczy. Ich układ współrzędnych wynosi (0,0) dla lewego górnego i (65535,65535) dla prawego dolnego rogu. –
- 1. Jak przesunąć kursor myszy za pomocą C#?
- 2. Symulowanie klawiatury za pomocą interfejsu SendInput API w aplikacjach DirectInput
- 3. Przenoszenie płótna tkinter za pomocą myszy
- 4. SendInput and 64bits
- 5. Sterowanie urządzeniem iOS za pomocą myszy/klawiatury
- 6. Jak emulować ruch myszy za pomocą Capybara
- 7. Regulacja widoczności przycisku za pomocą myszy MouseOver
- 8. Jak ukryć kursor myszy za pomocą jquery
- 9. SendInput nie na 64bit
- 10. Gvim zwiń przełącz za pomocą myszy
- 11. Jak zrobić zdjęcie za pomocą wskaźnika myszy z jquery?
- 12. Ekran jest czarny, gdy używam SendInput do wysyłania pozycji kursora myszy
- 13. Przewijanie w poziomie za pomocą kółka myszy w div
- 14. Jak poziomo przewijać w WPF za pomocą kółka pochylania myszy?
- 15. Rysowanie za pomocą myszy na GUI w Matlab
- 16. Pobierz deltę myszy za pomocą Pythona! (w Linuksie)
- 17. Wyślij klucze przez SendInput w user32.dll
- 18. Kliknij prawym przyciskiem myszy w Pythonie za pomocą ctypów
- 19. Czy mogę symulować zaznaczanie tekstu za pomocą myszy w JavaScript?
- 20. Funkcja SendInput nie wykonuje kliknięcia przyciskiem myszy, chyba że poruszę kursor
- 21. Jak wybrać obszar na obrazie PictureBox.Image za pomocą myszy w języku C#
- 22. Jak rysować i przesuwać kształty za pomocą myszy w języku C#
- 23. JavaFX Przenoszenie obiektów 3D za pomocą myszy na wirtualnym samolocie
- 24. Autouzupełnianie Google nie jest aktywowane przez wklejenie za pomocą myszy
- 25. Elementy potomne scrollviewera uniemożliwiające przewijanie za pomocą kółka myszy?
- 26. Jak zapobiec przewijaniu za pomocą klawiszy strzałek, ale NIE myszy?
- 27. Utrata animacji podczas animacji za pomocą jQuery (bez ruchomej myszy)
- 28. WPF - Rysowanie na płótnie za pomocą zdarzeń myszy
- 29. Windows 10 aktywować okno za pomocą wskaźnika myszy?
- 30. Jak dołączyć element html do myszy za pomocą jQuery?
Wersja C++ będzie odpowiednia, nie różni się od wersji Winapi. –
Powinieneś zostawić to jako odpowiedź, abym mógł Cię oznaczyć jako prawidłowy! : p –
możesz po prostu zaakceptować swoją odpowiedź, nie sądzę, że Hans potrzebuje przedstawiciela! –