Send和ControlSend之间的区别是什么?

时间:2017-08-04 20:57:18

标签: autohotkey

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

  

Send / SendRaw / SendInput / SendPlay / SendEvent

     

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

  

ControlSend / ControlSendRaw

     

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

  • Send和ControlSend之间的区别是什么?
  • 是否有理由使用其中一个?

1 个答案:

答案 0 :(得分:3)

发送/ SendXXX命令将输入​​发送到活动窗口。这是当前具有焦点的窗口,通常是通过鼠标单击它,对其进行选项卡,或者窗口将焦点设置为自身。

如果您的AHK脚本定位到您已打开的记事本窗口,并且您要点击其他窗口(例如Chrome),则您的输入现在会发送到Chrome。

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

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