C# ile tek tıklamalı makro türevi yazılım yapmak

Varona

Megapat
Katılım
16 Ekim 2016
Mesajlar
431
Çözümler
10
Şöyle basit bir program var, ayarlanan tuşa basılı tuttuğumda fareyi ayarlanan değerde hareket ettirmeye yarayan. Macro türevi de diyebiliriz. Asıl size sormak istediğim şu ki bu program bahsettiğim işlemi yaparken fareyle seri tıklamalar yaparak yapıyor. Ben tek tıklamada yapmasını istiyorum, yani belirlenen tuşa basılı tuttuğum sürece sol tık tuşuna basılı tutarak işlemini yapacak ve tuşu bıraktığım zaman sol tık tuşunu da bırakacak. Aşağıdaki fonksiyonda PRGClass.LeftClickUp(); satırını sildiğimde istediğim oluyor ama ayarlanan tuşu bıraktığımda sol tık tuşu hâlâ basılı kalıyor. Konu hakkında bana yardım edebilir misiniz?

C#:
        private void PollLButton()
        {
            this.shootTimer.Interval = this._shotInterval;
            Keys LKey = Keys.MButton; //Varsayılan tuş mouse orta tuşu
            LKey = PRGFunctions.GetFireKeyFromString(this._LButton);
            short gaks = GetAsyncKeyState(LKey);
            if ((gaks & 0b10000000_00000000) > 0) //tuş basılı tutuluyorsa
            {
                PRGClass.LeftClickDown();
                PRGClass.LeftClickUp();

                this.firingState = true;

            }
            else
            {
                this.firingState = false;
            }
        }

        private void PullDownMouse()
        {

            Keys LKey = PRGFunctions.GetFireKeyFromString(this._LButton);
            short gaks = GetAsyncKeyState(LKey);
            bool fireKeyPressed = (gaks & 0b10000000_00000000) > 0;

            while (this.Activated && this.PerformRecoilCompensation && LKeyPressed)
            {
                PRGClass.MouseMove(this._dy, this._pullDelay);

                LKey = PRGFunctions.GetFireKeyFromString(this._LButton);
                gaks = GetAsyncKeyState(LKey);
                fireKeyPressed = (gaks & 0b10000000_00000000) > 0;
            }

            this.pullDownMouseTimer.Start();
 
Son düzenleyen: Moderatör:

Python'da bu dediğiniz işlevi sadece tek satır kodla yapabiliyorsunuz. Pyautogui kütüphanesi ile yanlış hatırlamıyorsam drag fonksiyonuydu.
 
Normalde o fonksiyon ile çalışması lazım.

Bunu bazı AV'ler zararlı olarak algılayabilir.
 
Normalde o fonksiyon ile çalışması lazım.

Bunu bazı AV'ler zararlı olarak algılayabilir.
Aynen hocam, Malwarebytes, MachineLearning/Anomalous.100% olarak algıladı. Sebebini bilmiyorum ama sadece kendi kullanımım için geliştirdiğim için pek önemsemedim açıkçası.
 
Aynen hocam, Malwarebytes, MachineLearning/Anomalous.100% olarak algıladı. Sebebini bilmiyorum ama sadece kendi kullanımım için geliştirdiğim için pek önemsemedim açıkçası.

Bu otomatik algılanıyor. Keylogger falan sanıyor. Fazla takmayın.
 
Bu otomatik algılanıyor. Keylogger falan sanıyor. Fazla takmayın.
Teşekkür ederim bilgilendirdiğiniz için.
Normalde o fonksiyon ile çalışması lazım.
Dediğim gibi verdiğim fonksiyonla seri tıklamalı şekilde çalışıyor. Tuşa basılı tuttuğum sürece sol tık yapıp tuşu bıraktığım zaman da sol tuşu bırakacak şekilde ayarlamak istiyorum ancak hâlâ bir çözüm yolu bulabilmiş değilim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…