Bir Siçanı Necə Təqlid Etmək Olar

Mündəricat:

Bir Siçanı Necə Təqlid Etmək Olar
Bir Siçanı Necə Təqlid Etmək Olar

Video: Bir Siçanı Necə Təqlid Etmək Olar

Video: Bir Siçanı Necə Təqlid Etmək Olar
Video: Этот рецепт должен знать каждый ! Ребра ягнёнка в афганском казане просто сказка ! 2024, Bilər
Anonim

"Siçan" tipli manipulyator istənilən kompüterin zəruri atributudur. Onsuz tətbiqlər vasitəsilə nəzarəti və ya naviqasiyanı təsəvvür etmək mümkün deyil. Bu manipulyator, hərəkətlərini (hərəkətləri, klikləri, sürüşmə) ekranda göstərərək istifadəçi ilə aktiv şəkildə qarşılıqlı əlaqə qurur. Bəzi proqramlaşdırma tapşırıqları üçün proqram siçanı emulyasiyası tələb oluna bilər.

Bir siçanı necə təqlid etmək olar
Bir siçanı necə təqlid etmək olar

Vacibdir

Microsoft Visual C ++. Net inkişaf mühiti (2003-dən aşağı deyil)

Təlimat

Addım 1

Microsoft Visual C ++. Net (2003 və ya daha sonrakı bir versiyasını) quraşdırın. Bu inkişaf mühitinin bir neçə versiyası var - pullu və pulsuz. Bunlar geliştiricinin veb saytından yüklənə bilər. Quraşdırıldıqdan sonra yeni bir layihə yaradın və aşağıda göstərildiyi kimi System. Windows. Forms və System. Drawing-i birləşdirin: System. Windows. Forms istifadə edərək; System. Drawing istifadə;

Addım 2

Windows əməliyyat sistemlərində siçanı ekrandan keçirmək üçün imlecin ekrandakı yerini birbaşa təyin edən funksiyalardan istifadə edin. Məsələn, aşağıdakı kodu istifadə edin: Cursor. Position = yeni Nöqtə (x, y); Bu sətir kursoru Point (x, y) sinifinin konstruktorunda göstərilən yerə aparacaq (burada x və y imlecin yerləşdirilməli olduğu mövqenin koordinatları) … Kursor mövqeyini dəfələrlə təyin etməlisinizsə, Point sinifinin bir nümunəsini yaradın və bunun üçün koordinatların dəyişdirilməsi metodundan istifadə edin. Bu yaddaşa qənaət edəcəkdir: Point point = yeni Point (0, 0); Kursor. Pozisiya = nöqtə. Offset (20, 100); Kursor. Pozisiya = nöqtə. Offset (40, -20); Bu kod, 0, 0 koordinatları ilə Point () sinif obyektini yaradır. İkinci sətir Nöqtəni X-də 20 piksel və Y-də 100 piksel ilə dəyişir. Nöqtə obyektinin işarə etdiyi cari koordinat 20, 100-dür. Üçüncü sətir yenidən müəyyən edilmiş piksel sayına görə Ofset Nöqtəsi olur (müvafiq olaraq 40 və -20). Cari koordinat X-də 60 (20 + 40) və Y-də 80 (100-20) -dir.

Addım 3

Siçan klikini təqlid etmək üçün Win32 SendInput () və ya mouse_event () funksiyalarından istifadə edin. Məsələn, sağ kliki proqramlaşdırılmış şəkildə simulyasiya etmək üçün aşağıdakı kodu istifadə edin: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // istifadə rahatlığı üçün siçan hərəkətlərini təyin edən lazımi sabitlər (bayraqlar) // ilə bir siyahı yaradın: [Bayraqlar] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Mütləq = 0x8000}; // istifadə - aşağıda göstərilən koordinatları vurun: const int x = 39000; // Xconst tərəfindən koordinatlar int y = 12000; // koordinatları 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. RightUp, x, y, 0, UIntPtr. Zero);

Addım 4

Win API SendMessage () funksiyasından istifadə edərək WM_LBUTTONDOWN və WM_LBUTTONUP mesajlarını göndərərək bir siçan klikini təqlid edin. Məsələn, aşağıda göstərildiyi kimi: void OnBtPerformClick (object sender, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBTON;

Tövsiyə: