Send 和 ControlSend 有什么区别?

Ste*_*ica 3 autohotkey

AutoHotkey 的官方文档列出了两组不同的命令,用于将模拟键盘输入发送到窗口。

发送/SendRaw/SendInput/SendPlay/SendEvent

将模拟的击键和鼠标点击发送到活动窗口。

控制发送 / 控制发送原始

将模拟击键发送到窗口或控件。


  • Send 和 ControlSend 有什么区别?
  • 有理由使用其中一种而不是另一种吗?

小智 5

Send/SendXXX 命令将输入​​发送到活动窗口这是当前具有focus 的窗口,通常通过用鼠标单击它、按 Tab 键或当窗口将焦点设置到自身时来实现。

如果您的 AHK 脚本以您打开的记事本窗口为目标,并且您要单击另一个窗口(例如 Chrome),您的输入现在将发送到 Chrome。

另一方面,使用 ControlSend/ControlSendXXX 命令将输入​​发送到指定的窗口控件。控件可能是文本框、按钮或类似的交互元素。

在这里,即使您将焦点切换到另一个窗口(例如 Chrome),上面的示例仍然会输出到记事本。缺点是您必须指定要发送到哪个控件。