SendKeys.SendWait(String) 方法

定义

向活动应用程序发送给定的键,然后等待消息被处理。

public:
 static void SendWait(System::String ^ keys);
public static void SendWait (string keys);
static member SendWait : string -> unit
Public Shared Sub SendWait (keys As String)

参数

keys
String

要发送的击键字符串。

注解

用于 SendWait 将击键或击键组合发送到活动应用程序,并等待处理击键消息。 可以使用此方法将击键发送到应用程序,并等待由击键启动的任何进程完成。 如果其他应用程序必须完成,然后应用程序才能继续,则这一点可能很重要。

备注

由于没有用于激活其他应用程序的托管方法,因此可以在当前应用程序中使用此类,也可以使用本机Windows方法(例如FindWindow,以及SetForegroundWindow)强制关注其他应用程序。

备注

SendKeys 类已更新为 .NET Framework 3.0,从而可用于在 Windows Vista 上运行的应用程序。 Windows Vista 增强的安全性(称为用户帐户控件或 UAC)可避免以前的实现按预期运行。

SendKeys 类容易遭受某些开发人员不得不解决的计时问题。 更新后的实现仍然容易遇到计时问题,但速度稍微快一些,并且可能需要更改解决方法。 SendKeys 类先尝试使用以前的实现,失败后再使用新的实现。 因此, SendKeys 类在不同操作系统上的运行方式可能不同。 此外,当 SendKeys 类使用新的实现时, SendWait 方法不会等到消息被处理后才将其发送至其他进程。

如果如论使用何种操作系统,你的应用程序均依赖于一致的行为,则可通过将以下应用程序设置添加至 app.config 文件强制执行 SendKeys 类以使用新的实现。

<appSettings>

<add key="SendKeys" value="SendInput"/>

</appSettings>

若要强制执行 SendKeys 类以使用以前的实现,请改用 "JournalHook" 值。

适用于