【问题标题】:Multiple keystrokes as autohotkey shortcut多次击键作为自动热键快捷方式
【发布时间】:2022-01-25 10:51:14
【问题描述】:

我是 AutoHotkey 的新手。 我有一个特定的需要在 Powerpoint 中使用 autohotkey 来实现。

假设在 Powerpoint 中,我想更改字体颜色。 正常的步骤是:

  1. 选择文字
  2. 点击“主页”>点击“字体颜色”>字体调色板展开,我选择颜色。

现在,我想让这个过程更快,如下所示

  1. 选择文字
  2. 按 FC(作为键盘快捷键)和 autohotkey 应按以下键 Alt+H+FC(非常重要的是,如果我没有在 F 之后立即按 C,那么它应该被键入为突出显示文本的替换文本)

所以,我的代码是这样的

#SingleInstance, Force
#IfWinActive ahk_exe POWERPNT.EXE ; check whether ppt is the active window 
f::  
#if keypress c
    send, !HFC
#if 
return

但是,这行不通。 我不知道我在哪里犯错。有人可以帮忙吗

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    试试这个:

    #SingleInstance, Force
    
    #IfWinActive ahk_exe POWERPNT.EXE ; check whether ppt is the active window
    
        ; In AHK you can define a custom combination of two keys by using " & " between them.
        ; In this example
    
        f & c::
            SendInput, {Alt Down}h{Alt Up} ; opens the Home tab
            Sleep, 300                     ; after 300 ms
            SendInput, fc                  ; opens the Font Color palette 
        return
    
        ; f becomes a prefix key and loses its native function, unless you configure it to perform a new action:
    
        f:: SendInput, f
    
    #IfWinActive ; turn off context sensitivity,
    

    https://www.autohotkey.com/docs/Hotkeys.htm#combo

    【讨论】:

    • 非常感谢您的快速回复。有用。但我认为我没有很好地解释它。上面的代码只有在我按住 F 并按 C 时才有效。

      但是,我的目的是快速访问字体调色板。但是,在上述情况下,这将非常困难。
      所以,为了区分打字和命令访问,我先按下并释放控制键,然后按下并释放F键并按下并释放C键。这 3 个按键之间的间隔是 500 毫秒。
    • 当我按住 F 并在选择文本后按 C 时,字体颜色调色板打开。这不是你想要的吗?
    • 我想像平常一样输入快捷键。为了区分打字和命令触发,我按了两次控制键。然后,如果我输入,命令应该会被激活。
    • F+C 在 2xCtrl 之后比 F_C 容易得多。此外,2xCtrl 前提条件必须在一段时间后过期,并且在键入 f 后突出显示的文本将被替换。
    【解决方案2】:

    我知道这是一个自动热键问题,但 PowerPoint 中的快速访问工具栏 (QAT) 可以立即解决您的问题。

    QAT 将 Alt+1 分配给第一个功能,alt+2 分配给第二个功能,依此类推。通过自定义 QAT 上的按钮顺序,您可以通过一个组合键访问您经常使用的功能。

    说明
    首先在QAT中添加字体颜色按钮:右击“字体颜色”按钮,点击“添加到快速访问工具栏”

    更改 QAT 中的功能顺序:右键单击 QAT - 自定义快速访问工具栏)。使用右侧的箭头按钮更改顺序。
    这是我自己使用的顺序:

    这让我可以非常快速地对齐幻灯片上的对象、更改背景颜色、轮廓和文本颜色,所有这些都从键盘启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-11
      • 2015-01-09
      • 1970-01-01
      • 2013-03-21
      • 2012-11-19
      • 2011-05-29
      • 1970-01-01
      • 2013-12-01
      相关资源
      最近更新 更多