我認爲標題解釋了我所要求的。C#等待SendKeys在執行下一行代碼之前完成發送?
我需要SendKeys
在DoMouseClick
方法或我的整個程序無用之前完成發送密鑰。
// Simulate the keyboard typing the value of 'i'
SendKeys.SendWait(i.ToString());
// Simulate mouse click so the Accept button in-game is clicked
DoMouseClick();
我嘗試使用Thread.Sleep
,但我希望你們對如何解決我的問題的一些更好的建議。
我們可以計算出'SendKeys'在另一個線程和'加入()'這個線程。 http://stackoverflow.com/questions/1584062/how-to-wait-for-thread-to-finish-with-net –
我以爲'SendKeys'在返回之前做了等待嗎? MSDN:_「[使用SendWait將擊鍵或擊鍵組合發送給活動應用程序**並等待按鍵消息被處理**。您可以使用此方法將擊鍵發送到應用程序,並等待任何如果其他應用程序必須在您的應用程序可以繼續之前完成,這可能很重要。](https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys。 sendwait(v = vs.110).aspx)「_ – MickyD
大約是文檔的一半:另外,當SendKeys類使用新的實現時,SendWait方法不會等待消息在發送給另一個時處理處理。 ' – Xenolightning