C# Macro Nasıl Yapılır?

zeroVorex

Yoctopat
Katılım
26 Ocak 2022
Mesajlar
1
Daha fazla  
Cinsiyet
Erkek
Merhaba,Ben Macro Geliştirdim Ancak Sadece Mouse 'nin Sol tuşuna basıldığında çalışıyor. ama ben Örnek Veriyorum "R" tuşuna basıldığında çalışsın istiyorum. yardımcı olur musunuz? yazdığım kodlar aşşağıdaki gibidir. Yazdığım Dil C# Visual Studio Form Uygulaması Tarafından Geliştirildi.



Kod:
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.Drawing;

using System.Linq;

using System.Runtime.InteropServices;

using System.Text;

using System.Threading;

using System.Threading.Tasks;

using System.Windows.Forms;



namespace zeroVorexMakro

{

    public partial class Form1 : Form

    {



        [DllImport("User32.Dll", EntryPoint = "PostMessageA")]

        private static extern bool PostMessage(IntPtr hWnd, uint msg, int wParam, int lParam);



        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]

        private static extern IntPtr GetForegroundWindow();



        [DllImport("user32.dll", SetLastError = true)]

        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);





        [DllImport("User32.dll")]

        private static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);



    



        public Form1()

        {

            InitializeComponent();

        }







        private void Form1_Load(object sender, EventArgs e)

        {



        }



        private void cpsTrackbar_Scroll(object sender, ScrollEventArgs e)

        {

            label3.Text = cpsTrackbar.Value.ToString() + " CPS";



        }



        private void btnToggle_Click(object sender, EventArgs e)

        {

            if (btnToggle.Text.Contains("Enabled"))

            {

                btnToggle.Text = "Disabled";

            }



            else if (btnToggle.Text.Contains("Disabled"))

            {

                btnToggle.Text = "Enabled";

            }

        }



        private void btnToggle_TextChanged(object sender, EventArgs e)

        {

            if (btnToggle.Text.Contains("Disabled"))

            {



                autoclicker.Start();

            }



            else

            {

                autoclicker.Stop();



            }

            if (btnToggle.Text.Contains("Disabled"))

            {

                btnToggle.ForeColor = Color.FromArgb(80, 80, 80);

                btnToggle.FillColor = Color.Salmon;

            }

            else if (btnToggle.Text.Contains("Enabled"))

            {

                btnToggle.ForeColor = Color.Salmon;

                btnToggle.FillColor = Color.FromArgb(80, 80, 80);

            }





        }

        int endusuk;

        int enyuksek;

        IntPtr hWind;



        public string getActiveWindowName()

        {

            try

            {

                var activatedHandle = GetForegroundWindow();



                Process[] processes = Process.GetProcesses();



                foreach (Process clsProcess in processes)

                {

                    if (activatedHandle == clsProcess.MainWindowHandle)

                    {

                        string processName = clsProcess.ProcessName;

                        return processName;



                    }



                }

            }

            catch { }

            return null;

        }

        private void Random_Tick(object sender, EventArgs e)

        {

            if (btnToggle.Text.Contains("Disabled"))

            {

               endusuk = cpsTrackbar.Value - 6;

               enyuksek = cpsTrackbar.Value + 6;

                Random rand = new Random();

                randomTB.Value = (rand.Next(endusuk,enyuksek));

            }

        }



        private void randomTB_Scroll(object sender, ScrollEventArgs e)

        {



        }



        private async void autoclicker_Tick(object sender, EventArgs e)

        {

            try

            {

                autoclicker.Interval = 1000 / randomTB.Value;



            }



            catch{ }

            if (btnToggle.Text.Contains("Disabled"))

            {

                Process[] processes = Process.GetProcessesByName("javaw");



                foreach (Process process in processes)

                {

                    hWind = FindWindow(null, process.MainWindowTitle);

              

                }

                string currentWindow = getActiveWindowName();

                if (currentWindow == null)

                {

                    return;

                }

                if (currentWindow.Contains("javaw"))

                {

                    if ( MouseButtons  == MouseButtons.Left)

                    {



                        PostMessage(hWind, 0x0201, 0, 0);

                        await Task.Delay(30);

                        PostMessage(hWind, 0x0202, 0, 0);

                    }

                }

            }



          

        }



        private void bindBtn_Click(object sender, EventArgs e)

        {

            bindBtn.Text = "...";

        }



        KeysConverter Key = new KeysConverter();



        private void Binding_Tick(object sender, EventArgs e)

        {

            if (bindBtn.Text != "none" && bindBtn.Text != "...")

            {

                Keys binding = (Keys)Key.ConvertFromString(bindBtn.Text.Replace("...", ""));

                if (GetAsyncKeyState(binding) < 0)

                {



                    while (GetAsyncKeyState(binding) < 0)

                    {

                        Thread.Sleep(20);

                    }

                    if (btnToggle.Text.Contains("Enabled"))

                    {

                        btnToggle.Text = "Disabled";

                    }

                    else if (btnToggle.Text.Contains("Disabled"))

                    {

                        btnToggle.Text = "Enabled";

                    }



                    return;

                }

            }

        }



        private void bindBtn_KeyDown(object sender, KeyEventArgs e)

        {

            {

                string keydata = e.KeyData.ToString();

                if (!keydata.Contains("Alt"))

                {

                    if (GetAsyncKeyState(Keys.Escape) < 0)

                    {

                        bindBtn.Text = "none";

                    }

                    else

                    {

                        bindBtn.Text = keydata;

                    }

                }

            }

            KeysConverter Key = new KeysConverter();

        }



        private void Binding_Tick_1(object sender, EventArgs e)

        {



        }

    }

}
 
Şu biçimde R tuşuna basıldığında bir fonksiyonu tetikleyebilirsin.

C#:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.R)
            {
                // Do something here
            }
        }
    }
 

Technopat Haberler

Geri
Yukarı