Ένας χειριστής του τύπου "ποντίκι" είναι ένα απαραίτητο χαρακτηριστικό οποιουδήποτε υπολογιστή. Χωρίς αυτό, είναι αδύνατο να φανταστεί κανείς τον έλεγχο ή την πλοήγηση μέσω εφαρμογών. Αυτός ο χειριστής αλληλεπιδρά ενεργά με τον χρήστη εμφανίζοντας τις ενέργειές του (κινήσεις, κλικ, κύλιση) στην οθόνη. Για ορισμένες εργασίες προγραμματισμού, ενδέχεται να απαιτείται προσομοίωση ποντικιού λογισμικού.
Είναι απαραίτητο
Microsoft Visual C ++. Καθαρό περιβάλλον ανάπτυξης (όχι μικρότερο από το 2003)
Οδηγίες
Βήμα 1
Εγκαταστήστε το Microsoft Visual C ++. Net (2003 ή μεταγενέστερη έκδοση). Υπάρχουν πολλές εκδόσεις αυτού του περιβάλλοντος ανάπτυξης - επί πληρωμή και δωρεάν. Μπορούν να ληφθούν από τον ιστότοπο του προγραμματιστή. Μετά την εγκατάσταση, δημιουργήστε ένα νέο έργο και συνδέστε το System. Windows. Forms και System. Σχέδιο όπως φαίνεται παρακάτω: χρησιμοποιώντας το System. Windows. Forms; χρησιμοποιώντας System. Drawing;
Βήμα 2
Για να μετακινήσετε το ποντίκι σε όλη την οθόνη στα λειτουργικά συστήματα των Windows, χρησιμοποιήστε λειτουργίες που ορίζουν άμεσα τη θέση του δρομέα στην οθόνη. Χρησιμοποιήστε, για παράδειγμα, τον ακόλουθο κώδικα: Δρομέας. Θέση = νέο σημείο (x, y); Αυτή η γραμμή θα μετακινήσει τον κέρσορα στη θέση που καθορίζεται στον κατασκευαστή της κλάσης Point (x, y) (όπου x και y είναι οι συντεταγμένες της θέσης όπου πρέπει να τοποθετηθεί ο δρομέας) … Εάν πρέπει να ορίσετε επανειλημμένα τη θέση του δρομέα, δημιουργήστε μια παρουσία της κλάσης Point και χρησιμοποιήστε τη μέθοδο αλλαγής συντεταγμένων για αυτήν. Αυτό θα εξοικονομήσει μνήμη: Σημείο σημείου = νέο σημείο (0, 0). Δρομέας. Θέση = σημείο. Offset (20, 100); Cursor. Position = point. Offset (40, -20); Αυτός ο κώδικας δημιουργεί ένα αντικείμενο της κλάσης Σημείο () με συντεταγμένες 0, 0. Η δεύτερη γραμμή μετατοπίζει το Σημείο κατά 20 εικονοστοιχεία σε Χ και 100 εικονοστοιχεία σε Υ. Η τρέχουσα συντεταγμένη που επισημαίνεται από το σημείο σημείου είναι 20, 100. Η τρίτη γραμμή συμβαίνει και πάλι Offset Point από τον καθορισμένο αριθμό pixel (40 και -20, αντίστοιχα). Η τρέχουσα συντεταγμένη είναι 60 (20 + 40) σε Χ και 80 (100-20) σε Υ.
Βήμα 3
Χρησιμοποιήστε τις συναρτήσεις Win32 SendInput () ή mouse_event () για να μιμηθείτε ένα κλικ στο ποντίκι. Για παράδειγμα, για προσομοίωση δεξιού κλικ μέσω προγραμματισμού, χρησιμοποιήστε τον ακόλουθο κώδικα: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // για ευκολία στη χρήση, δημιουργήστε απαρίθμηση με τις απαραίτητες σταθερές (flags) // που ορίζουν τις ενέργειες του ποντικιού: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000}; // χρήση - κάντε κλικ στις συντεταγμένες που ακολουθούν: const int x = 39000; // συντεταγμένες από Xconst int y = 12000; // συντεταγμένες από 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). Απόλυτο | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Βήμα 4
Προσομοιώστε ένα κλικ του ποντικιού στέλνοντας μηνύματα WM_LBUTTONDOWN και WM_LBUTTONUP χρησιμοποιώντας τη συνάρτηση Win API SendMessage (). Για παράδειγμα, όπως φαίνεται παρακάτω: void OnBtPerformClick (αντικείμενο αποστολέας, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBTT;