當我檢測到具有給定顏色的像素時,我想發送密鑰「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#代碼,它會更好。