Autohotkey:Google Chrome 对发送没有反应,^+y

Autohotkey:Google Chrome 对发送没有反应,^+y

这是一个Google Chrome 扩展程序使用热键无法更改。因此我编写了一个脚本将默认热键重新映射Ctrl-Shift-YAlt-1

(Default header here is omitted)

#IfWinActive ahk_class Chrome_WidgetWin_1
!1::
   Send, ^+y
Return

虽然可以工作,但非常不稳定。通常会有工作一段时间,然后就停止工作,无缘无故地切换。重新启动 Chrome 或脚本也无济于事。

当它不起作用时,我仍然可以看到日志条目。而且我检查了ahk_class哪些是已知的 Google Chrome 可变的 - 问题不存在。

008: Send,^+y
009: Return (3.56)

答案1

要尝试的事情...

  1. 替换SendPlaySendInput(或反之亦然,取决于默认值)
  2. 尝试在脚本执行时按住修饰键,看看是否会发生任何变化
  3. 将发送语句拆分为两部分,并在发送触发键之前对修饰符进行延迟
  4. 尝试将击键发送到不同的上层窗口或控制 hwnd
  5. 确保您的权限与您尝试发送的正在运行的进程的权限不匹配(由于它是一个浏览器,所以不太可能 - 只是一个想法)

第 3 项示例:

Send {LShift Down}{LControl Down}
Sleep 1000        ; lower this to something reasonable if a long delay works
Send y{LControl Up}{LShift Up}

答案2

尝试此扩展. 通过这个,您可以更改 chrome 扩展页面中的热键(在页面末尾)

答案3

我当前的解决办法是模拟上下文菜单单击而不是热键按下。

#IfWinActive ahk_class Chrome_WidgetWin_1
~LAlt & 1::
   Send, {AppsKey}
   Sleep, 100
   Send, y
   Sleep, 100
   Send, y
Return

相关内容