2015-08-18 76 views
0

當我檢測到具有給定顏色的像素時,我想發送密鑰「k」。 問題是,即使窗口處於活動狀態,用以下代碼發送給我一個異常:SendKeys無法在此應用程序內運行,因爲應用程序未處理Windows消息。請將應用程序更改爲處理消息,或使用SendKeys.SendWait方法。 Sendwait方法似乎沒有足夠快地按下按鍵(但至少它不會例外)。我真的不關心,如果所需要的解決方案是「髒」,這是一個POC我會使用一次將按鍵發送到不處理C#中的Windows消息的活動窗口

static void Main(string[] args) 
    { 
     string ligne; 
     string previousligne = string.Empty; 
     int compteur = 0;   
      while (true) 
      { 
       Color pixColor = Win32.GetPixelColor(System.Windows.Forms.Cursor.Position.X, System.Windows.Forms.Cursor.Position.Y); 
       ligne = pixColor.Name;      
       if (previousligne != ligne) 
       { 
        if (ligne == "ffcecefe") 
        { 
         SendKeys.Send("k"); 
        } 

        Console.WriteLine(ligne); 
        System.IO.File.AppendAllText(@"C:\Users\Public\WriteLines.txt", "-----" + DateTime.Now.Minute + ":" + DateTime.Now.Second + ":" + DateTime.Now.Millisecond + " = " + ligne);       
        previousligne = ligne; 
        compteur++; 
        if (compteur % 10 == 0) 
        { 
         System.IO.File.AppendAllText(@"C:\Users\Public\WriteLines.txt", "---------" + compteur); 
         Console.WriteLine("---------" + compteur); 
        } 
       } 
      } 
    } 

如果你知道最終幻想X,我試圖自動化避免閃電的過程:video

我可以只是欺騙以獲得遊戲結果(或以合法的方式)並且它已經完成了,但如果我可以學習更多的C#代碼,它會更好。

回答

相關問題