【问题标题】:AutoHotkey ControlSend problem on one machine一台机器上的 AutoHotkey ControlSend 问题
【发布时间】:2013-04-17 23:10:00
【问题描述】:

我有这个 AutoHotkey 脚本有一个奇怪的问题。它在 3 个工作站中使用,但在一个工作站中,ControlSend 似乎不起作用,因为热键在程序 A 中不起作用。所有三台机器都有 Windows XP 并且是 Pentium 4 级别的机器,具有大部分相同的软件,脚本在exe形式。我尝试了很多不同的方法来将热键发送到程序 A,但似乎没有任何效果。

该脚本的想法只是捕捉一个热键并在其正常功能之外单击另一个窗口。正常功能只是不起作用。

任何想法可能是问题的根源以及我应该在哪里寻找它?

#IfWinActive, Program A
^H::
IfWinActive, Program A
   {
    ControlFocus, MDIClient1, Program A, , , 
    ControlSend, , ^H, Program A, , ,
    ControlClick, X46 Y135, Program B, , LEFT , 1
    return
   }

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    一种可能性 - 您正在指定 X 和 Y 坐标,它们可能是非常相对的。大字体与小字体、屏幕分辨率等都可能导致问题。

    该指令适用于程序 B,因此我不确定这是您的问题。您可以尝试拆分部分脚本并将它们分配给不同的热键,然后一次尝试一个。

    编辑:我也会尝试以非 exe 形式(只是一个基本的 .ahk 脚本),看看是否有什么不同。

    【讨论】:

      【解决方案2】:

      其他尝试:

      • 使用^h 代替^H(大写)
      • 尝试使用其他热键来触发操作
      • ~^H 的玩具,它会传递原始热键(这可能很困难,因为在那之后您要进行一些点击 - 不确定脚本的用途)

      【讨论】:

        猜你喜欢
        • 2020-06-08
        • 1970-01-01
        • 1970-01-01
        • 2015-06-03
        • 1970-01-01
        • 2021-03-28
        • 1970-01-01
        • 1970-01-01
        • 2018-01-06
        相关资源
        最近更新 更多