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桌面)