2016-11-05 90 views
0

爲了個人學習目的,我使用Visual Studio爲C#創建了自動刷新。C#Autoclicker Visual Studio

它以某種方式工作,但有一個令人沮喪的問題解釋下面,無論我做什麼我都解決不了。我已經對代碼進行了各種編輯,現在它也應該在它自己的線程上運行。作爲最後的手段,我通過其他開源autoclickers並檢查了他們的代碼提示,但沒有任何工作。

這是一個快速的視頻剪輯。 (當我打開自動刷新並將鼠標懸停在任何下拉菜單上時,它會開始執行此操作)。時間間隔無關緊要,並且通常會在其他所有下拉菜單中產生問題。

https://gfycat.com/ContentGreedyFoal

這裏的整個Visual Studio項目爲那些會是誰熱情地向我們來看一看: https://drive.google.com/file/d/0B36Lvz9TiOAWNF80cVVXWnRjeHM/view?usp=sharing

而這裏的代碼,以及爲那些沒有時間下載誰整個項目。我對缺少評論和混淆變量名稱表示歉意。這是我在C#中的第一個項目,我想完成它來擴展我的知識。

http://pastebin.com/M1SiL9Rh

在此先感謝。

回答

1

我只是簡單地看了一下你的代碼,你好像在這裏有很多循環, 解釋了點擊一下開始按鈕後的點擊。

private void MouseClicker() 
    { 
     int i = 0; 
     while (true) 
     { 
      Thread.Sleep(100); 
      while (threadStatus) 
      { 
       if (repeatTimes) 
       { 
        while (startbutton.Enabled == false) 
        { 
         int x = Cursor.Position.X; 
         int y = Cursor.Position.Y; 
         mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0); 
        } 
       } 
       else if (randomInterval) 
       { 
        while (startbutton.Enabled == false) 
        { 
         int li = Convert.ToInt32(Math.Round(lowerintervalvalue.Value, 0)); 
         int hi = Convert.ToInt32(Math.Round(higherintervalvalue.Value, 0)); 
         int x = Cursor.Position.X; 
         int y = Cursor.Position.Y; 
         mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0); 
         Random rand = new Random(); 
         Thread.Sleep(rand.Next(li, hi)); 
        } 
       } 
      } 
     } 
    } 

您需要此方法內部的邏輯不超過在窗口中設置的重複次數。