Manipulator jenis "tetikus" adalah atribut yang diperlukan dari mana-mana komputer. Tanpa itu, mustahil untuk membayangkan kawalan atau navigasi melalui aplikasi. Manipulator ini secara aktif berinteraksi dengan pengguna dengan memaparkan tindakannya (pergerakan, klik, menatal) di skrin. Untuk beberapa tugas pengaturcaraan, emulasi tetikus perisian mungkin diperlukan.
Ia perlu
Microsoft Visual C ++. Persekitaran pembangunan bersih (tidak lebih rendah daripada 2003)
Arahan
Langkah 1
Pasang Microsoft Visual C ++. Net (2003 atau lebih baru). Terdapat beberapa versi persekitaran pembangunan ini - berbayar dan percuma. Mereka boleh dimuat turun dari laman web pemaju. Selepas pemasangan, buat projek baru dan sambungkan System. Windows. Forms dan System. Draf seperti yang ditunjukkan di bawah: menggunakan System. Windows. Forms; menggunakan System. Drawing;
Langkah 2
Untuk menggerakkan tetikus ke layar pada sistem operasi Windows, gunakan fungsi yang secara langsung mengatur posisi kursor di layar. Gunakan, misalnya, kod berikut: Kursor. Posisi = Titik baru (x, y); Garis ini akan menggerakkan kursor ke kedudukan yang ditentukan dalam pembina kelas Titik (x, y) (di mana x dan y adalah koordinat kedudukan di mana kursor harus diletakkan) … Sekiranya anda perlu menetapkan kedudukan kursor berulang kali, buat satu contoh kelas Titik dan gunakan kaedah untuk menukar koordinat untuknya. Ini akan menjimatkan memori: Titik titik = Titik baru (0, 0); Kursor. Posisi = titik. Offset (20, 100); Kursor. Posisi = titik. Offset (40, -20); Kod ini mencipta objek kelas Titik () dengan koordinat 0, 0. Baris kedua mengalihkan Titik sebanyak 20 piksel dalam X dan 100 piksel dalam Y. Koordinat semasa yang ditunjukkan oleh objek titik ialah 20, 100. Baris ketiga sekali lagi berlaku Offset Point dengan bilangan piksel yang ditentukan (masing-masing 40 dan -20). Koordinat semasa ialah 60 (20 + 40) di X dan 80 (100-20) di Y.
Langkah 3
Gunakan fungsi Win32 SendInput () atau mouse_event () untuk meniru klik tetikus. Contohnya, untuk mensimulasikan klik kanan secara terprogram, gunakan kod berikut: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // untuk kemudahan penggunaan, buat penghitungan dengan pemalar yang diperlukan (bendera) // yang menentukan tindakan tetikus: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Mutlak = 0x8000}; // gunakan - klik pada koordinat yang ditetapkan di bawah: const int x = 39000; // koordinat oleh Xconst int y = 12000; // koordinat oleh 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). Mutlak | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Langkah 4
Tiru klik tetikus dengan menghantar mesej WM_LBUTTONDOWN dan WM_LBUTTONUP menggunakan fungsi Win API SendMessage (). Sebagai contoh, seperti ditunjukkan di bawah: batal OnBtPerformClick (penghantar objek, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBTT, WPS_, BUTT