SendKeys.SendWait 方法

来源:互联网 发布:js获取file真实路径 编辑:程序博客网 时间:2024/06/05 21:08

SendKeys.SendWait 方法

  • .NET Framework (current version)
  • .NET Framework 3.5
  • .NET Framework 3.0
  • .NET Framework 2.0

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

命名空间:  System.Windows.Forms
程序集:  System.Windows.Forms(在 System.Windows.Forms.dll 中)

语法

C#
public static void SendWait(string keys)

参数

keys
类型:System.String
要发送的击键字符串。

备注

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

注意注意

因为没有可用来激活另一个应用程序的托管方法,所以可以在当前应用程序中使用此类,或使用本机 Windows 方法(如FindWindowSetForegroundWindow)来强制聚焦到其他应用程序上。

注意注意

已针对 .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"

0 0
原创粉丝点击