「拖拽获取动作/文件,选中获取网址/文本」
简介
| QUICKER / ACTION PROFILE |
| 快捷菜单 |
|
树形菜单 · 双拖拽接收 · 懒加载文件夹 · 类型化右键 · 内部图标控件
|
|
|
| |
声明 本动作完全抄袭 cea 佬 的超级菜单部分功能制作。感谢 地球佬、h0zr 佬、z888 佬 的热心解答;双拖拽方法由 h0zr 佬 提供。
|
|
|
概述 把文件、文字、动作、网址汇入一棵树形菜单,随时呼出、随手增删。核心解决三件事:高权限下文件与动作拖拽并存、大目录文件夹的按需加载、右键操作按内容类型差异化注入。
|
|
|
|
|
|
|
菜单构建
解析树形文本生成多级菜单,支持图标、提示、分隔线。
|
|
|
内容收集
一键追加选中项,自动判别文件、文件夹、软件、图片、文本、网址。
|
|
|
可视化编辑
独立编辑器:拖拽排序、拖入文件与动作、撤销重做、图标选择。
|
|
|
左键执行
按内容类型分流:打开、运行、触发动作、模拟输入、打开链接。
|
|
|
右键扩展
右键按类型注入不同操作,一项一策,随用随取。
|
|
|
数据持久
菜单内容以文本变量存储,可迁移、可分享、可二次加工。
|
|
|
|
|
|
|
双拖拽接收:文件与动作并存
高权限环境默认收不到普通权限窗口的 OLE 拖拽。方案以底层鼠标钩子为分发点:
· WH_MOUSE_LL 捕获按下位置,WindowFromPoint 判定窗口归属
· 落在自身窗口:启用 OLE DropTarget,接收 Quicker 动作
· 外部按下:禁用 OLE,放行 WM_DROPFILES,接收文件
· ChangeWindowMessageFilterEx 放行拖拽消息
|
|
|
|
三级懒加载 · 父项可执行
子菜单先挂隐藏占位项,SubmenuOpened 触发时才构建;文件夹叠加 LazyFolderState 状态位,扫描一次即缓存;超出 batchSize 分批加载。父项通过 excludeArrowArea 区分箭头区与文字区——点箭头展开、点文字执行,互不干扰。
|
|
|
|
右键菜单按类型动态注入
右键菜单不写死在项上。触发时暂存原子项到 SavedItems,按该项 Type 查配置表注入,SubmenuClosed 时经 ApplicationIdle 还原。同一项展开是子菜单、右键是操作面板。
File 粘贴文件 / 复制路径 / 粘贴路径 / 定位文件
App 打开选中 / 定位文件
Image 贴图 / 粘贴图片 / 复制路径 / 粘贴路径 / 定位图片
Folder 定位文件夹
Action 动作右键 / 导出步骤
Text 运行 / 复制 / 粘贴 / 模拟按键
Url 运行 / 复制 / 粘贴 / 模拟按键 / 模拟输入
|
|
|
|
|
图标:内部控件直挂 · 四级 key 决策
图标直接实例化 Quicker 的 IconControl 挂载,不落盘、不走网络。取图标策略分级:图片走 previmg:;可执行文件走完整路径;普通文件走扩展名(同后缀共享一次冷启动);文件夹先判 Desktop.ini,否则复用统一 key,避免逐个提取系统图标。
|
|
|
|
编辑器:预示线缓存 · 无闪烁拖排
拖动排序时的蓝色预示线做了状态缓存——目标项、上下位置、可见性任一变化才重绘,否则直接跳过,杜绝抖动。PreviewDragLeave 先判坐标再决定隐藏,鼠标仍在窗口内即返回,不被子元素边界误触发。配合靠近边缘的自动滚动,长列表拖排依然稳定。
|
|
|
|
|
临时攒批文件
一次打开多目标
图片贴屏参考
常用动作启动
动作步骤导出
文件夹逐层浏览
跨权限拖取文件
|
|
|
|
|
呼出 运行动作弹出菜单;文件与动作可直接拖入。
|
|
|
收集 选中文件或文字,点“添加选中”落到菜单末尾,类型自动识别。
|
|
|
整理 进编辑器拖拽排序、换图标、改数据、加分隔线。
|
|
|
调用 左键按类型执行;右键调出该类型扩展操作;文件夹点箭头展开、点文字执行。
|
|
|
结语 看似一个菜单,实则是高权限下双拖拽共存、三级懒加载、类型化右键注入与内部图标直挂的一整套细节工程。
|
|
|
单实例运行 · 数据以文本存储 · 可迁移 · 可分享
|
|
最近更新
|
修订版本
|
更新时间
|
制品
|
审核状态
|
更新说明
|
|
4
|
2小时57分钟前
|
V1
|
当前 V1 版本
|
优化拖拽交互,增加识别7种类型
File、App、Image、Folder、Action、Text、Url
针对性注入右键菜单功能
数据改为动作内保存
|
|
3
|
6小时18分钟前
|
V1
|
|
1
|
|
2
|
23小时43分钟前
|
V1
|
|
1
|