SendKeys.SendWait 方法
向活动应用程序发送给定的键,然后等待消息被处理。
程序集: System.Windows.Forms(在 System.Windows.Forms.dll 中)
备注
使用 SendWait 可以将键击或组合键击发送到活动应用程序,并等待处理键击消息。 可以用此方法将键击发送到一个应用程序,并等待完成由这些键击所启动的任何进程。 如果必须在其他应用程序完成之后才能继续您的应用程序的话,那么这一点很重要。
![]() |
---|
因为没有可用来激活另一个应用程序的托管方法,所以可以在当前应用程序中使用此类,或使用本机 Windows 方法(如 FindWindow 和 SetForegroundWindow)来强制聚焦到其他应用程序上。 |
![]() |
---|
已针对 .NET Framework 3.0 更新了 SendKeys 类,以便在 Windows Vista 中运行的应用程序中使用该类。 Windows Vista 的增强安全性(称为用户帐户控制或 UAC)可以防止以前的实现按预期工作。 SendKeys 类易出现计时问题,某些开发人员必须解决这些问题。 更新的实现仍易出现计时问题,但它略快,可能需要对解决方法进行更改。 SendKeys 类尝试先使用以前的实现,如果失败,则使用新实现。 因此,在不同的操作系统上,SendKeys 类的行为可能不同。 此外,如果 SendKeys 类使用新实现,则将消息发送到另一进程时,SendWait 方法不会等待处理这些消息。 如果无论操作系统如何应用程序都依赖一致的行为,则通过在 app.config 文件中添加下列应用程序设置,可以强制 SendKeys 类使用新实现。 <appSettings> <add key="SendKeys" value="SendInput"/> </appSettings> 要强制 SendKeys 类使用以前的实现,请改用值 "JournalHook"。 |