Autohotkey 自动热键控制在一台机器上发送问题

Autohotkey 自动热键控制在一台机器上发送问题,autohotkey,Autohotkey,我有一个自动热键脚本,它有一个奇怪的问题。它在3个工作站中使用,但在其中一个工作站中,ControlSend似乎不起作用,因为热键在程序A中不起作用。这三台机器都有Windows XP,都是奔腾4级机器,软件基本相同,脚本是exe格式。我尝试了很多不同的方法将热键发送到程序a,但似乎没有任何效果 该脚本的思想只是捕捉一个热键,并在其正常功能之外的另一个窗口中单击。正常的功能就是不起作用 你知道问题的根源是什么吗?我应该在哪里寻找 #IfWinActive, Program A ^H:: IfWi

我有一个自动热键脚本,它有一个奇怪的问题。它在3个工作站中使用,但在其中一个工作站中,ControlSend似乎不起作用,因为热键在程序A中不起作用。这三台机器都有Windows XP,都是奔腾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
   }

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

那个指令是针对程序B的,所以我不确定这是你的问题。您可以尝试将脚本的各个部分划分出来,并将它们分配给不同的热键,然后一次尝试一个热键

编辑:我也会尝试使用非exe格式(只是一个基本的.ahk脚本),看看这是否会有所不同。

其他需要尝试的内容:

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