AutoHotPie 径向菜单

AutoHotPie 径向菜单

AutoHotPie 是我最近发现的一款应用,它显示一个上下文相关的径向菜单。它有一个与 autohotkey 交互的选项,我认为可以编写自定义脚本,但我已经在文档、视频、论坛等中进行了研究,但没有说明如何操作。有谁知道这方面的内容,谁能帮我为每个应用编写自定义脚本?

AutoHotPie 应用程序:https://github.com/dumbeau/AutoHotPie/releases/tag/v1.0.27

视频演示: https://www.youtube.com/watch?v=ZxGt5Cr_3sk

答案1

饼状或径向菜单很漂亮,但我认为不太实用。它们的元素数量有限。我个人使用热字符串运行命令、文件、目录或程序:

; All the below hotstrings will .

; execute a command instead of replacing text (X-Option)
; without automatic backspacing (B0-Option), for not going back in explorer or browser
; and "<" as ending character. Other ending characters may interfere in the active window.

#Hotstring X B0
#Hotstring EndChars <

::cw::Run C:\Windows
::su::Run %A_StartUp%
::np::Run notepad
::wd::Run winword
::vlc::Run vlc.exe
::dms::Run "D:\Scripts\myScript.ahk"

答案2

看起来像一个简洁的工具....

要使用径向菜单触发 AutoHotkey 脚本,我认为至少有两种方法可以做到。

  1. 将 AutoHotkey 脚本编译为 .exe,并在您选择菜单选项时让圆形菜单执行您的 .exe(功能:运行文件)。您需要对要运行的每个选项执行此操作(将每个选项编译为不同的 .exe)。

  2. 在 AutoHotkey 中编写一些代码,让径向菜单选项作为 AutoHotkey 函数本地调用(即不需要编译 .exe,启动器也不需要 shell 调用来执行您的代码)

听起来您是在问选项 #2,但您可能只是在问有关 AutoHotkey 中的编码(一般而言)。如果是这样,我建议先学习如何在 AutoHotkey 中编码,学习如何编写程序并编译它们,然后使用上面的选项 #1 作为入门,这将允许您学习最新和最好的 AutoHotkey 版本 (v2),同时使用 AutoHotPie 的旧代码(基本上是用/为 AutoHotkey v1 编写的)。

另一方面,如果你真的想将 v1 代码直接集成到 AutoHotPie,请尝试以下步骤

  1. 指定您的 .ahk 文件在编辑器中打开,而不是默认通过 AutoHotkey.exe 执行它们(只是一种让 AutoHotPie 菜单文件在编辑器中打开而不是执行的简单方法)。
  2. 在 AutoHotPie 菜单中,启用“使用开源 AutoHotKey 饼形菜单”选项。
  3. 最后,构建并“执行”自定义菜单,它将在您的编辑器中作为 .ahk 文件 (PieMenu.ahk) 打开

PieMenu.ahk 文件将保存在 中C:\Users\<user>\AppData\Local\Programs\AutoHotPie\resources\src,因此如果您跳过步骤 1 并只想查找生成的文件,您可能只需在此位置打开它即可。上面的步骤 1 仅允许您直接从 GUI 中的“执行”选项在编辑器/调试器中打开文件(如果您愿意),但实际上没有必要。

在此文件夹位置,还有主 PieMenu.ahk 需要的其他文件,以便能够自行执行(位于 下的文件lib\

在文件中lib\UserPieFunctions.ahk,如果您想在本机运行整个程序,则可以放置自己的 AutoHotkey 函数。我不确定是否可以在 GUI 的任何地方(在菜单创建期间)选择它们,但如果您导出给定菜单的 .json 设置,则有一些字段允许您在 .json 文件中输入本机函数,然后重新导入它。

AHPSettings-123456.json

"function": "test1",
"params": {
    "arg": "This is a test"
},
"label": "Test1",
"hotkey": "",
"clickable": false,
"returnMousePos": false,
"icon": {
    "filePath": "RunScript.png",
    "WBOnly": true

lib\UserPieFunctions.ahk

pie_test1(arg) {
    msgbox, % arg
}

(另请注意,.json 文件中未列出“pie_”前缀)

您还需要在主 PieMenu.ahk 文件中#Include...UserPieFunctions.ahk

饼图菜单

#Include %A_ScriptDir%\lib\Gdip_All.ahk
#Include %A_ScriptDir%\lib\GdipHelper.ahk
#Include %A_ScriptDir%\lib\BGFunks.ahk
#Include %A_ScriptDir%\lib\PieFunctions.ahk
#Include %A_ScriptDir%\lib\Json.ahk
#Include %A_ScriptDir%\lib\UserPieFunctions.ahk   ; <-- add this line

我没有让参数参数起作用,但这可能是一件简单的事情。这些只是一些想法,也许可以让你入门。

相关内容