SendKeys.SendWait(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向活动应用程序发送给定的键,然后等待消息被处理。
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" 值。