2014-02-08 54 views
0

我正在使用python和pywin32庫。我可以完美髮送例如一個輸入,或在Firefox中寫'a'。但我試圖用一款PC遊戲來做到這一點,就像遊戲不會檢測到按鍵一樣。SendKeys使用pywin32到PC遊戲

這是我的代碼

import win32com.client as comclt 
wsh = comclt.Dispatch("WScript.Shell") 
wsh.AppActivate("pc game") 
wsh.SendKeys("{ENTER}") #doesn't detect this :S 

回答

1

大多數Windows遊戲使用DirectX API,用於讀取按鍵,他們根本無視那種鍵按下的消息。他們直接與硬件進行交互。因此,您的代碼在99%以上的Windows遊戲中無法使用。

我會通過編寫自己的驅動程序併發送按鍵來達到此目的,就像手動按下它們一樣。這很複雜,但並非不可能。

此外,我認爲有更好的方法來實現你想做的任何事情。在大多數情況下,發送按鍵不是一個乾淨的解決方案(特別是如果你試圖欺騙)。

希望它有幫助。

相關問題