我需要在代码中设置SendKeys.Send
的延迟。怎么办呢?
case "Open Google Chrome":
System.Diagnostics.Process.Start(@"C:\Program Files\Google\Chrome\Application\chrome.exe");
SendKeys.Send("{ENTER}");
break;
为什么我需要这个? 由于我的系统速度很慢,谷歌浏览器启动时间大约需要10秒,所以基本上我需要将Sendkeys
的延迟设置为10秒,因为我希望在Google Chrome加载后按下该键。
一个例子将不胜感激。感谢。
答案 0 :(得分:5)
只是睡在两个动作之间。
System.Diagnostics.Process.Start(@"C:\Program Files\Google\Chrome\Application");
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(10));
SendKeys.Send("{ENTER}");
答案 1 :(得分:3)
简单的Google搜索就会出现:
System.Threading.Thread.Sleep(10000);
但请记住,一个更好的方法是循环每一秒,检查Chrome是否实际启动,因为这样可以更好地处理以下情况:
答案 2 :(得分:2)
您可以使用Thread.Sleep(10 * 1000);
,但这会使当前线程休眠10秒。如果您不想让当前线程进入睡眠状态,我建议您使用Timer
var timer = new System.Threading.Timer((x) =>
{
SendKeys.Send("{ENTER}");
}, null, 10000, Timeout.Infinite);
这将在ThreadPool
线程中执行,防止当前线程被阻塞。
答案 3 :(得分:0)
Thread.Sleep(10000)
http://msdn.microsoft.com/en-us/library/d00bd51t.aspx
(编辑:删除了注释中正确指出的CurrentThread引用)
答案 4 :(得分:0)
只需使用
Thread.sleep(10000)
SendKeys.Send("{ENTER}";
您使用10000,因为它以毫秒为单位