这个quicker动作跟你这个很像
我最近还发现了好几个差不多思路的,各有特色吧
建议增加一个置顶窗口列表的功能
背景
当前曹操快切窗口列表的排列顺序会变化,最近激活的窗口被置于列表的最上方。这种动态变化不利于用户通过固定的记忆顺序来快速切换窗口。
为什么不用 Windows 任务栏来切换固定的窗口
这种方法在实际操作中并不高效。尤其当鼠标距离任务栏很远时,移动鼠标点击然后再移回原位相比使用曹操快切窗口要费力。
为什么不全面依赖曹操快切的自定义快捷键来切换
虽然当前已经在使用这种方法,但记忆快捷键需要一定的记忆成本,且操作方式与通过列表选择窗口不同,有时更倾向于使用鼠标来选择。因此,置顶列表的功能和快捷键切换是互为补充而非替代的关系,能够提供更为灵活高效的切换方式。
不错,好建议
这段序列必须36个字符吗?我删掉数字部分的话菜单就不能正确显示速达键了
呃,好吧
嗯 当时考虑不周,写死了得是36个
你可以用| \ = +之类的补充够数
非常高级。同程序切换,我原来以为是同程序不同标签之间切换,原来不是! 我在想有没有可能把同程切换升级到不同标签之间的切换,比如资源管理器标签,浏览器标签?
楼主的2.0啥时候能出来呀
最近太忙了,可能过一阵吧。。。
不过难保过一阵更忙。。。
哎,赚钱要紧。。。
报告一个 Bug,重现步骤:
①按下快捷键激活列表,不选择任何选项,点击空白处让列表关闭
②按下空格,空格变成回车
偶尔打字会变成拼音字母上屏,真是让人头大!总是偷偷摸摸地捣乱。今天终于逮到它了,原来是曹操快切在作怪!
我找了一下原因是getallinfo
里面的
Run addons\Space2Enter.exe
导致的
目前把它删掉了。
希望能改进,既保留空格确认窗口,又不造成误输出回车
我也是发现了这个问题
有时候输入的时候自动默认为英文上屏了
一直没找到是什么原因,还以为是输入法的问题
今天才知道是这个造成的
![]()
(举手)很棒的软件,想帮忙修BUG,但是没有地方可以提交…请问是否愿意接受协助?如果接受协助的话,有github嘛,或者说其他提交协助结果的渠道?
我弄个GitHub明天 很久之前github密码忘了 刚找回![]()
啊啊啊…第一次写ahk,修一个bug又发现十个,故留个纪念
1.52版有的bug,按严重性降序
修完会打删除线。如果修好但是电脑崩溃导致没保存会把删除线去掉
space2enter出问题 完成!
不准备改了,准备舍弃…用winapi子类化直接接管消息回调实现空格选择好了
鼠标轮盘应该可以顺便实现一下
再更新:舍弃掉上方方案。ahk的上下文相关能更好地完成任务
匹配到带标题的子窗口 完成!
这个倒是简单,直接过滤一遍顶层窗口即可
没人用Windows7嘛…这个bug甚至会把win7“开始”按钮加到切换中
在想要不要加一个可选功能,排除任务栏无图标的窗口
代码缩进 完成!
很好奇狗狗先生是怎么在如此凌乱的代码中添加新功能的
小问题,格式化一下即可
更新:不是小问题,格式化之后冻结功能出错
完成,一处Tab被转为四个空格后出问题
代码重用
直接打包为exe的三个组件,多花了三份解释器的体积
相当一部分代码可以被封装
同程序切换有误 完成!
如果真的是狗狗先生说的
如果你的两个窗口名称完全一样,比如都叫微信,都叫 空白页 - edge,它就认不出来了。
那好办,本质上是无法区分同名窗口
去掉WinActivateBottom , ahk_exe %activeexe% ;,,%activename%,
中的
,,%activename%,
即可
同标题但其他不同的菜单项的切换无效的问题 完成!
统一以hwnd作为标识符激活窗口,同时保证窗口关闭后临时锁定即失效
基于此,把Windows.UI.Core.CoreWindow的排除提前到收集所有窗口信息的阶段
等待更新…
整了一个github项目,
huangfeiqiannian/caocao-QuickSwitcher: Your Ultimate Window - Switching Solution
你分支一个出去,然后在你那个基础上更新个2.0版就好了,我这个分支就不更新了(我好久没用曹操快切,已经写了个别的自用切换软件在用)
注意哈:曹操快切的图标我是网上随便找的,建议你换个自己或者AI做的图标。
个人觉得应该实现但是当时俺没能力实现的,还望大佬逐步一并给实现了或者先添到todo:
- 完整的设置页面(暗色与否、排除列表、快捷键、固定搭配、语言等)。
- 鼠标轮盘。
- 插件功能。
- 伴随虚拟桌面的软件切换。
感恩的心
其中,伴随虚拟软件的软件切换可以具体展开一下嘛,不是很理解
就是比如某窗口是在其他虚拟桌面打开的,当切换到该窗口时,先切换到该虚拟桌面
现在是压根只识别当前桌面的窗口,不涉及虚拟桌面
很好(瘫
鸽了几天总算搞定了初版
改变有点多,新开一楼
舍弃项目:
- a.冻结模式及所有冻结相关逻辑
- b.用于显示窗口的弹出菜单
- c.以标题查找窗口的所有相关逻辑
- d.space2enter及所有相关逻辑
新增项目:
-
1.遍历窗口
排除弹窗、子窗口、提供接口对窗口标题进行排除
见crtWin.ahk,函数ShouldDismissWindow -
2.保留机制
任何情况下,窗口不变,则对应快捷键不变
保留机制作为对冻结模式的重写与改进
见主ahk文件 -
3.窗口标识
所有窗口以hwnd句柄作为标识,使用窗口信息对象
info[句柄,快捷键,标题,程序路径]
进行储存
此对象作为对"以标题查找窗口"的重写与改进
见主ahk文件窗口遍历部分 -
4.图标获取
优先使用WM_GETICON获取图标以加速
见crtWin.ahk,函数GetWindowIconHandle -
5.配置加载
完成了封装,修复了keys和固定搭配必须一一对应的bug。不会将固定搭配设置好的快捷键分配给固定搭配以外的程序
见Loadcfg.ahk -
6.窗口菜单显示
改用ListView实现,以进行更复杂的消息处理
此控件作为对"用于显示窗口的弹出菜单"的重写与改进
见WindowList.ahk -
7.GUI交互逻辑
简述:
7.1 可快捷键或鼠标滚轮选定窗口项,回车或空格转到此窗口
7.2 转到其他窗口后,ListView即隐藏
7.3 按下第一快捷键(默认F8),松开则隐藏ListView
7.4 按下第二快捷键(默认鼠标中键),松开则转到选中的窗口项
技术改动:
全部改为在本窗口消息回调中处理,不会存在影响其他程序的可能
此功能作为对"space2enter"的重写与改进
见windowList_Proc.ahk -
8.其他
格式化代码
使用较清晰的变量命名
抽离函数到各文件
见addons文件夹以及主ahk文件的"; 包含文件"部分
TO-DO LIST
待更新…
曹操快切_1.52C
密码:4azx

