语言

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" 。

适用于