SendKeys.SendWait 方法

本文介绍了 .NET Framework 中 System.Windows.Forms 命名空间下的 SendKeys.SendWait 方法,该方法用于向活动应用程序发送给定的键并等待消息被处理。文章详细解释了方法的使用场景、语法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SendKeys.SendWait 方法

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

命名空间:   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"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值