1.30版本的目标是提供比较完善的连接到Quicker的方式。经过一个多月的奋战,这个目标已经基本达成。

连接到Quicker

最新的Quicker版本提供了这些与外界连接的方式:

  • 外部启动:使用命令行、脚本或第三方程序调用Quicker动作,并且返回结果。
  • 推送服务(长链接):为Quicker提供公网HTTP接口。让使用者通过手机app、快捷指令、第三方服务等向Quicker发送指令并获得结果。
  • Websocket客户端模块:将Quicker与第三方websocket服务建立持续连接,实时接收消息并通过自定义的子程序进行处理。
  • Websocket服务器:为局域网的websocket客户端提供接入支持,发送指令控制键盘和鼠标、调用动作或传输文件。本地直接连接,延时低,带宽大。
  • HTTP服务器:使用动作将任意文件夹变身为临时http服务器,通过手机浏览器传输文件、播放视频。也可通过子程序实现http请求的自定义处理。
  • 浏览器控制:在动作和浏览器、网页之间建立连接。对网页或浏览器运行脚本并返回结果。

1.30版本中的连接功能的改进:

新增websocket客户端模块

  • 建立到第三方websocket服务的长链接;
  • 发送消息;
  • 使用子程序处理接收到的消息;

改善websocket服务器

  • 为其它客户端一个实时通信接口,方便使用者通过自己编写的HTML5网页或者小程序、APP等与Quicker通信,实现特定需求。
  • 支持ws或wss连接方式;
  • 支持使用内置http服务发布自己编写的网页客户端;
  • 支持与推送服务类似的各类接口;

新增HTTP服务器模块

  • 可以将任意文件夹变身为临时http服务器,通过手机浏览器传输文件、播放视频。
  • 使用子程序实现自定义的http请求处理。
  • 支持http和https连接。
  • 支持设置默认文档。
  • 支持lightbox浏览图片和视频。
  • 支持打包下载文件。

浏览器连接改进

  • 极大改善连接稳定性;
  • 支持同时连接多个以—user-data-dir参数启动的chrome浏览器。
  • 支持连接到管理员身份运行的Quicker。
  • 关联到浏览器右键菜单中,在点击菜单时获取关联的数据(如所点击图片的网址等);

外部调用改进

  • 支持从控制台返回动作结果,例子:
    • “C:\Program files\quicker\QuickerStarter.exe” -c “runaction:动作名称或ID 动作参数” -c 表示使用控制台返回内容。默认最长等待20秒。
    • “C:\Program files\quicker\QuickerStarter.exe” -c30 “runaction:动作名称或ID 动作参数” -c30 表示最长等待30秒。
  • 外部调用支持管理员身份启动的Quicker。

其它功能改进

.Net 版本需求修改为4.7.2。

(新增)数字转换与处理模块:

  • 将数字转换为指定格式的文本;
  • 取整;
  • 转换进制;

多步骤输入:

  • 增加input2模式,支持模拟兼容带转义字符的内容。 如\t内容\r\n换行。
  • moveto:支持百分比值,定位到主屏的特定位置。如50%,50% 将鼠标移动到屏幕中心。
  • 多步骤输入:支持音量加减等特殊键名的识别。

获取系统信息:

  • 增加返回本地局域网IP地址输出。
  • 增加返回是否为win11;

剪贴板相关:

  • 获取剪贴板文本、图片、文件列表:增加输出剪贴板变更距离当前的毫秒数。
  • 获取选中文件:增加 “等待剪贴板时间” 参数。
  • 获取选中文本:增加等待剪贴板的时间参数。
  • 等待剪贴板变化:支持包含之前一定时间内已发生的改变(以解决类似于这样的情况:模拟Ctrl+C后,开始等待之前剪贴板已经变化完成)。

截图:

  • 鼠标指针改为系统默认十字指针,以避免在win11预览版中指针不可见问题。
  • 修复截图开始时左上角显示残影问题。

获取资源管理器目录:

  • 特殊路径返回原始CLSID格式的值,以支持直接打开此路径。如 “此电脑”,返回的路径为::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

下载模块:

  • 支持取消下载。未成功下载时自动删除临时文件。

JSON提取:

  • 在jsonpath中使用list:前缀强制使用列表提取方式(SelectTokens),避免在数组只有1个对象时返回单个值而不是列表。

搜索功能

  • 支持设置默认处理动作或命令模板,实现在没有搜索结果的情况下直接回车对输入内容的处理。默认为命令模板%s,表示将输入内容直接作为命令执行。

代码窗口和文本窗口:

  • 搜索、替换修改为近似VSCode的操作方式和快捷键。搜索框和替换框使用Ctrl+Enter换行,直接Enter为查找或替换下一个。
  • 代码编辑窗口表达式补全:非动作编辑场景下也支持补全提示。

检查版本更新、微信扫码登录:

  • 判断如果安装了WebView2,则使用WebView2代替基于IE内核的浏览器组件。
  • 下载版本:验证文件尺寸,显示进度条。

悬浮动作:

  • 优化拖动响应。

浏览器控制:

  • 动作关联到浏览器右键菜单时,通过菜单触发动作,可以在表达式中通过_context.ExtraData.BrowserMenuClickData 获取菜单点击上下文信息。

用户选择:

  • 保持窗口位置区分仅保持左上角位置、保持位置+宽度、保持位置+尺寸。

文本处理:

  • 截取操作修复emoji内容截取长度不正确问题。

WebView2:

  • 增加 “检查是否已安装” 操作类型。
  • 增加WebView2Wrapper用户控件,可在自定义窗口中使用。

表格数据操作:

  • 数据管理:支持设置选择模式,支持按行选择。
  • 修复表格字段定义不能保存默认值问题。
  • 增加筛选功能。
  • 表格数据管理:支持返回选择的行;支持置顶;限制行高;添加记录的按钮放在窗口下方。

表达式:

  • 优化表达式中使用IList时初始化比较慢的问题。
  • 增加 _context.Id 用以区分动作运行实例。
  • ToDictionary支持JObject对象。
  • Enum类型增加GetEnumDisplayName扩展方法。

文本上下文菜单:

  • 文本工具:增加格式化json工具。
  • 文本处理菜单项:按Ctrl点击菜单时,将结果内容发送到窗口中,替换当前选择的内容。

动作调试输出

  • 自动折叠子程序;支持折叠展开子步骤。

自定义窗口:

  • 支持 ApplicationCommands.Close 命令关闭窗口。

组合动作设计窗口:

  • 子程序标签增加右键菜单:关闭左侧、右侧、其它标签页。
  • 步骤延迟时间仅在不为0时显示。
  • Ctrl+Shift+滚轮,加速调节延迟。
  • F6立即调试运行,Ctrl+F6立即运行。

托盘图标:

  • 调整外观;
  • 解决更新分辨率后变模糊的问题;

表单:

  • 多行文本输入框支持手动调整高度。

其它:

  • 识别桌面助手(360桌面提取版、wps桌面)