AHK 接收参数运行 嵌入Listary菜单中

Listary带参数运行AHK

AHK有各种自定义快捷键,但也不可能记住所有的.所以快速跳转的菜单也还是很有必要的

看了AHK中的菜单,有个好处是可以依据#if在不同应用程序下定义独有的菜单.这个很好.

另外,因为Listary具有即时搜索功能,而且也自带的目录跳转和菜单自定义

AHK下找了半天好像没有找到具有即时搜索功能的..

所以,目前还是不能抛弃Listary,因为有便携版,所以也方便,那么就在想要发挥Listary的余热吧.

就看到在这Listary菜单里面加入AHK的执行项,试了一下,步骤效果如下:

Listary菜单自定义中

#NoTrayIcon	
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

param = %1% ;param传输参数的值
msgbox % param ;检查传入值
myfun(param)
EmptyMem()
exitapp ;运行完就自动关闭
return
myfun(t)
{
sendinput %t% ;外部传入参数
sleep 200
}
EmptyMem(PID="AHK Rocks")
{
	pid:=(pid="AHK Rocks") ? DllCall("GetCurrentProcessId") : pid
        h:=DllCall("OpenProcess", "UInt", 0x001F0FFF, "Int", 0, "Int", pid)
        DllCall("SetProcessWorkingSetSize", "UInt", h, "Int", -1, "Int", -1)
        DllCall("CloseHandle", "Int", h)
}

随便先试了几个

PS: 这菜单里面可以嵌入子带单,那么也应该是可以加入#if条件下的AHK菜单的,是吗?

但是我遇到一个问题,我另外一个AHK文件自定义了SPACE+X的热键,在这里发送参数发送不过来执行不了,不知道为什么?

请教各位,啊因为我已经定义space + b打开系统托盘,这个AHK文件正在运行中,我用键盘操作快捷键有效的.

但是我新创建的ahk文件, sendinput,  {space}b 这个时候却无效了,只显示打出来来一个b?这是为什么?

给TA捐赠
共{{data.count}}人
人已捐赠
AHKV1

ahk日记2.23

2022-2-23 22:36:37

AHKV1

word报销单的脚本终于写完了

2022-2-24 18:17:43

3 条回复 A文章作者 M管理员
  1. ahkjoo

    最后我发现这种传递参数运行的方法有一个好处就是,不需要让对应AHK文件后台运行,只需要用的调用然后就退出了,相当于"阅后即焚"!

  2. 11010010
    1河许人给您打赏了¥2
    • ahkjoo

      感谢大佬,求大佬解惑啊.为什么一个ahk文件不能send另一个ahk文件自定义的热键(如:空格+字母))?

个人中心
有新私信 私信列表
搜索