C# ' Da Auto Clicker
-
Merhaba arkadaşlar
Bir oyun için debug yapıyoruz.C# 'dan basit bir işlev yazılması gerekiyor.
F8 tuşuna basınca sürekli sağ tıklayacak
F9 tuşuna basınca duracak.
Şimdiden teşekkürler. -
sanırım aradıgın şey bu ufak bi editlemeyle halledersin
//GetAsyncKeyState apisi ile klavyeden basılan tuşu yakalıyoruz. #region BasılanTusuYakala [DllImport("user32.dll")] private static extern short GetAsyncKeyState(Int32 deger); //Yukarıdaki apiyi kullanarak geriye string döndüren //bir method hazırlıyoruz. private string BasilanTus() { string tus = null; foreach (int item in Enum.GetValues(typeof(Keys))) { if (GetAsyncKeyState(item) == -32767) { tus = Enum.GetName(typeof(Keys), item); } } return tus; } #endregion #region MouseOtomatikTikla //Mouse tıklama yapmak için kullandığımız api [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(Int32 dwFlags, Int32 dx, Int32 dy, Int32 cButtons, Int32 dwExtraInfo); private const int MOUSEEVENTF_LEFTDOWN = 0x02; private const int MOUSEEVENTF_LEFTUP = 0x04; private const int MOUSEEVENTF_RIGHTDOWN = 0x08; private const int MOUSEEVENTF_RIGHTUP = 0x10; //SolTikla ve SagTikla methodları hazırladım. Böylece //istenirse kullanıcıya seçenek sunularak sağ ya da sol //tıklama yaptırılabilir. private void SolTikla() { //Mouse'un koordinatları alınarak tıklama //yapılacak yer belirleniyor. int X = Cursor.Position.X; int Y = Cursor.Position.Y; mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0); } private void SagTikla() { int X = Cursor.Position.X; int Y = Cursor.Position.Y; mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, X, Y, 0, 0); } #endregion private void Form1_Load(object sender, EventArgs e) { } bool tiklamaAktif = false; //timer1 her 50ms'de çalışarak klavyeden basılan tuşu kontrol ediyor private void timer1_Tick(object sender, EventArgs e) { //Baslına tuşu yakala string k = BasilanTus(); //eğer basılan tuş F2 ise mouse tıklamaya başlayacak //tekrar F2 'ye basıldığında tıklama duracak if (k == "F2") { if (tiklamaAktif) { tiklamaAktif = false; lblDurum.Text = "Tıklama Pasif"; timer2.Stop(); } else { tiklamaAktif = true; lblDurum.Text = "Tıklama Aktif"; timer2.Start(); } } } private void timer2_Tick(object sender, EventArgs e) { //her 500ms'de tıkla SolTikla(); }
Toplam Hit: 2689 Toplam Mesaj: 2