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