我认为标题解释了我所要求的。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