我需要在代码中对SendKeys.Send设置一个延迟。这是如何做到的呢?
case "Open Google Chrome":
System.Diagnostics.Process.Start(@"C:\Program Files\Google\Chrome\Application\chrome.exe");
SendKeys.Send("{ENTER}");
break;为什么我需要这个?由于我的系统速度慢,谷歌Chrome需要大约10秒才能启动,所以我需要将Sendkeys 设置为10秒,因为我希望在Google加载之后按下键。。
最好举一个例子。谢谢。
发布于 2013-08-05 21:59:11
就睡在这两种行为之间。
System.Diagnostics.Process.Start(@"C:\Program Files\Google\Chrome\Application");
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(10));
SendKeys.Send("{ENTER}");发布于 2013-08-05 22:00:02
一个简单的谷歌搜索就会出现:
System.Threading.Thread.Sleep(10000);但请记住,更好的方法是每秒钟循环一次,检查Chrome是否真的已经启动,因为这样可以更好地处理以下情况:
发布于 2013-08-05 22:04:20
您可以使用Thread.Sleep(10 * 1000);,但这将使当前线程休眠10秒。如果你不想让当前线程进入睡眠状态,我建议你使用Timer
var timer = new System.Threading.Timer((x) =>
{
SendKeys.Send("{ENTER}");
}, null, 10000, Timeout.Infinite);这将在ThreadPool线程中执行,防止当前线程阻塞。
https://stackoverflow.com/questions/18068483
复制相似问题