2012-02-08 45 views

回答

4

SendInput功能已經可用了很長時間,應該只是你需要做的。

2

但是,您可以使用SendInput進行任何模擬輸入,但是,您受應用程序完整性級別的約束(也就是說,無法將輸入注入到比您的級別更高的應用程序中)。

4

初學者經常嘗試向Windows發送密鑰,因爲他們認爲這是最簡單的解決方案。通過說這是可能的,很容易回覆。通常,在開發商投入大量時間之後,它變得複雜。其中一個原因很複雜,因爲你必須確保控件(文本框或其他)具有焦點。然後你必須做一些事情來處理數據,比如按下按鈕。您可能需要閱讀該窗口才能決定下一步該做什麼。

另一種方法是升級並嘗試通過訪問控件及其父窗口來控制應用程序。換句話說,您可以將數據直接作爲字符串輸入到文本框中,而不是通過在其中輸入鍵。您可以將BN_CLICKED通知消息發送給wndow,而不是將回車鍵發送到按鈕以單擊該按鈕。你應該尋找方法來做這種事情。這完全有可能。

熟悉Spy ++;它是一個真正可以幫助您探索控件和窗口等的工具。

+0

+1,但請注意,某些應用程序以意外的方式對窗口消息作出響應,因此往往需要重新使用擊鍵。 – 2012-02-08 18:33:18

+0

我同意沒有簡單的答案。我同意發送擊鍵可以是一個很好的解決方案。我只是想強調,使用替代解決方案通常更簡單,更可靠。最好的答案是每個應用程序獨特的。 – 2012-02-08 23:41:26

相關問題