2015-03-25 58 views
1

我試圖通過抓取遊戲區域的屏幕區域,分析像素,然後用一系列按鍵響應來在線遊戲編程AI。基本上,它是這樣的:是否存在快速且可預測的`SendKeys`替代方案?

  • 方案抓住當前幀的畫面
  • 程序分析像素數據,並計劃相應
  • 程序發送適當的Firefox按鍵進行響應。

我目前在步驟3 - 發送按鍵時遇到問題。由於我正在爲遊戲構建AI,因此它必須實時發送按鍵。然而,我與SendKeys.Send()注意到...

  • 有當我提出請求,並當Firefox執行它
  • 這是不可預測的,緩慢的,幾乎從未執行的按鍵之間有明顯的延遲時間
  • 運動是緩慢的,斷斷續續,因爲有較大的差距每個處理按鍵

之間有什麼辦法可預測發送按鍵事件的程序(如Firefox)實時?就像我在考慮用程序模擬按鍵時一樣,我正在考慮一個命令,它可以執行與按鍵盤上的按鍵相同的操作,而不是一種不可靠且延遲的方法來將按鍵發送到當前的任何按鍵聚焦。如果任何人對這個問題有一個簡單的解決方案,或者對我可以做不同的事情有任何意見,這將是非常棒的。謝謝!

+0

嘗試一些問題的答案在這裏http://stackoverflow.com/questions/5028872/sendkeys-alternative-that-works-on-citrix?rq=1特別是此http:// inputsimulator .codeplex.com/ – 2015-03-25 01:42:36

+0

也在這裏http://stackoverflow.com/questions/1138606/alternative-to-sendkeys-when-running-over-remote-desktop – 2015-03-25 01:44:35

+0

謝謝 - 是inputsimulator更快,然後,我假設? – Superdoggy 2015-03-25 01:49:21

回答

1

Windows Input Simulator包裝庫使用SendInput而不是SendKeys。

SendInput通常是發送擊鍵和 鼠標點擊的首選方法,因爲它具有出色的速度和可靠性。在大多數 條件下,SendInput幾乎是即時的,即使發送長字符串 也是如此。由於SendInput速度如此之快,它也更可靠。

AutoHotKey Send

相關問題