"Fare" türünde bir manipülatör, herhangi bir bilgisayarın gerekli bir özelliğidir. Onsuz, uygulamalar arasında kontrol veya gezinmeyi hayal etmek imkansızdır. Bu manipülatör, eylemlerini (hareketler, tıklamalar, kaydırma) ekranda görüntüleyerek kullanıcı ile aktif olarak etkileşime girer. Bazı programlama görevleri için yazılım fare emülasyonu gerekebilir.
Bu gerekli
Microsoft Visual C ++. Net geliştirme ortamı (2003'ten daha düşük değil)
Talimatlar
Aşama 1
Microsoft Visual C ++. Net'i (2003 veya üstü) yükleyin. Bu geliştirme ortamının çeşitli sürümleri vardır - ücretli ve ücretsiz. Geliştiricinin web sitesinden indirilebilirler. Kurulumdan sonra yeni bir proje oluşturun ve System. Windows. Forms ve System. Drawing'i aşağıda gösterildiği gibi bağlayın: System. Windows. Forms kullanarak; System. Drawing kullanarak;
Adım 2
Windows işletim sistemlerinde fareyi ekran üzerinde hareket ettirmek için, imlecin ekrandaki konumunu doğrudan ayarlayan işlevleri kullanın. Örneğin, aşağıdaki kodu kullanın: Cursor. Position = new Point (x, y); Bu satır, imleci Point (x, y) sınıfının yapıcısında belirtilen konuma hareket ettirecektir (burada x ve y, imlecin yerleştirilmesi gereken konumun koordinatları) … İmleç konumunu tekrar tekrar ayarlamanız gerekiyorsa, Point sınıfının bir örneğini oluşturun ve bunun için koordinatları değiştirme yöntemini kullanın. Bu hafızadan tasarruf sağlayacaktır: Nokta noktası = yeni Nokta (0, 0); İmleç. Konum = nokta. Ofset (20, 100); İmleç. Konum = nokta. Ofset (40, -20); Bu kod, 0, 0 koordinatlarına sahip Point () sınıfı bir nesne oluşturur. İkinci satır, Noktayı X'te 20 piksel ve Y'de 100 piksel kaydırır. Nokta nesnesi tarafından işaret edilen geçerli koordinat 20, 100'dür. Üçüncü satır yine belirtilen piksel sayısı kadar Kaydırma Noktası olur (sırasıyla 40 ve -20). Geçerli koordinat X'te 60 (20 + 40) ve Y'de 80 (100-20)'dir.
Aşama 3
Fare tıklamasını taklit etmek için Win32 SendInput () veya mouse_event () işlevlerini kullanın. Örneğin, sağ tıklamayı programlı olarak simüle etmek için aşağıdaki kodu kullanın: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // kullanım kolaylığı için, gerekli sabitlerle (bayraklar) // fare eylemlerini tanımlayan bir numaralandırma oluşturun: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Mutlak = 0x8000 }; // kullan - aşağıdaki koordinatlara tıklayın: const int x = 39000; // Xconst'a göre 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. Mutlak | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
4. Adım
Win API SendMessage () işlevini kullanarak WM_LBUTTONDOWN ve WM_LBUTTONUP mesajları göndererek bir fare tıklamasını taklit edin. Örneğin, aşağıda gösterildiği gibi: void OnBtPerformClick (object sender, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTONUP,} MKPTONUP