从外部启动Quicker动作

因软件更新较快,部分文档内容与软件最新版本有所出入,请知悉。

💡 专业版功能。

概述

如果需要在其他地方发起执行某个Quicker动作,如通过计划任务定时执行动作、在桌面上建立快捷方式、在浏览器中点击链接执行动作等,可以通过本文中的方式来实现。

如果您需要在一个动作中启动另外一个动作,请使用“运行或停止动作”模块。该模块不需要专业版。


动作标识


可以使用动作ID动作的名称动作库ID(从动作库安装的动作)指定要运行的动作。在本文下面的部分,使用“动作标识”指代这些信息。

当使用动作名称或动作库ID时,请注意不能有重复。


如何获得动作ID?

在动作上点右键,在打开的菜单中选择“信息”,可以在二级菜单中选择复制动作ID或复制动作URI【菜单功能下个版本可用】:


也可以在打开的动作信息窗口中点击动作ID:




通过命令行或第三方程序启动

常规

启动方式:

"C:\Program Files\Quicker\QuickerStarter.exe" runaction:动作标识


如果要给动作传递参数:

"C:\Program Files\Quicker\QuickerStarter.exe" "runaction:动作标识 参数内容"

从1.8.0版本开始,也可以使用问号作为分隔符:

"C:\Program Files\Quicker\QuickerStarter.exe" runaction:动作标识?参数内容


从控制台返回动作结果(1.30.12+)

返回动作结果

为命令行增加-c (表示使用控制台返回结果,默认最长等待20秒)或-c30(-c加数字连写,表示从控制台返回结果,最长等待30秒)。

例如:

"C:\Program Files\Quicker\QuickerStarter.exe" -c "runaction:动作标识 参数内容"

"C:\Program Files\Quicker\QuickerStarter.exe" -c100 "runaction:动作标识 参数内容"

在动作中,通过“停止”模块返回内容。 如下面的动作直接返回收到的参数:

运行的效果如下图所示(参数为abcdefg,原样返回了abcdefg):

从python中获取返回值的示例(来自网友@地球)

from subprocess import Popen, PIPE
proc = Popen(
    [
        "C:\Program Files\Quicker\QuickerStarter.exe",
        "-c",
        "runaction:动作标识?参数"
    ],
    stdout=PIPE,
)
out, err = proc.communicate()
proc.wait()

print(out, err)

必须要注意:

1. 不能使用shell=True(这个默认值,不需要管)

2. stdout=PIPE

在命令行中通过URI方式启动


C:\Users\cuili>start quicker:runaction:动作id或名称

PowerShell

方法1:

Start-Process "c:/program files/quicker/quickerstarter.exe" -ArgumentList "runaction:动作ID或名称?参数"

方法2:

cmd.exe /c "C:\Program Files\Quicker\QuickerStarter.exe" runaction:URI

方法3(在最前面加上 & 即可):

&'C:\Program Files\Quicker\QuickerStarter.exe' 'runaction:{动作ID}?{参数}'

Aardio

import process
process.execute("C:\Program Files\Quicker\QuickerStarter.exe","runaction:动作ID或名称?参数")

以上内容感谢网友@fantasynew提供。


通过URI方式启动

URI格式为:


quicker:runaction:动作标识

如:

quicker:runaction:25d718df-0f37-43ae-9fac-58fca1888113

quicker:runaction:动作名称 动作参数

quicker:runaction:动作名称?动作参数 (1.8.0+版本)



可以直接在Windows运行窗口(Win+R)中执行uri,


或点击此格式的网页链接。如下面的网页代码:

<a href="quicker:runaction:25d718df-0f37-43ae-9fac-58fca1888113">开启截图</a>

<a href="quicker:runaction:动作名称?动作参数">开启动作xx</a>


通过URI方式启动会比通过quickerstarter.exe稍微慢一点(多一次协议跳转的过程)。


其他应用方式参考

在桌面上创建动作的快捷方式

可以用命令行参数或uri格式。下图为uri格式的示例:(在桌面上右键,选择“新建”-》“快捷方式”)



在一个动作中启动另外一个动作

在组合动作中,使用“运行或打开”模块,将uri输入到“路径”参数中接口。

注意:此方式会立刻返回,不能等待动作执行完成。




在AHK软件中,通过快捷键调用Quicker动作


Run, "quicker:runaction:动作标识?动作参数"


在VBA中,调用Quicker动作

VBA代码中使用Shell函数,代码如下:

Shell "C:\Program Files\Quicker\QuickerStarter.exe runaction:动作ID"

示例:



在python中

# 方法1
import subprocess
subprocess.run(["C:\Program Files\Quicker\QuickerStarter.exe","runaction:动作ID或名称?参数"])

# 方法2
import os
os.system("start quicker:runaction:25d718df-0f37-43ae-9fac-58fca1888113?参数")

使用计划任务启动Quicker动作

新建计划任务,操作类型选择“启动程序”。“程序或脚本”参数选择QuickerStarter.exe的完整路径(C:\Program Files\Quicker\QuickerStarter.exe),“添加参数”参数中输入“runaction:动作标识”。


注意事项

请勿使用管理员身份启动Quicker,会造成无法访问quicker协议。


Quicker协议的其他功能

打开场景和动作设置窗口:quicker:exesettings:

调试运行动作:quicker:debugaction:动作id或名称

安装外观:quicker:installskin:外观id

预览动作:quicker:previewaction:动作库动作id

预览子程序:quicker:previewaction:子程序id

打开设置页:quicker:settings:设置页id

显示提示消息

quicker:showmessage:消息
quicker:showmessage:success:成功消息(绿色)

quicker:showmessage:warning:警告消息(黄色)

quicker:showmessage:error:警告消息(红色)

quicker:showmessage:info:信息消息(蓝色)

quicker:showmessage:信息消息(蓝色)

反馈与讨论

暂无讨论
语雀在语雀上查看