多桌面开发可以提高开发效率,ubuntu下的多桌面是很完美的,可以指定快捷键切换到需要的桌面。但是在window上仅仅通过ctrl+win+左右方向键一个一个切换,很遗憾官方没有为此改进,一般的键位映射例如powertoys、autohotkeys仅能把键映射到左右切换的键位上,本质还是一个一个切换桌面。后来发现github上有一个好用的VirtualDesktopAccessor虚拟桌面助手驱动库,配合autohotkeys便可以切换到目标桌面
使用方法
- 先安装v1版本autohotkeys
- 新建一个目录,下载VirtualDesktopAccessor.dll
- 同一目录下新建一个.ahk的文件,这里我设置ctrl+alt+字母切换,映射切换的桌面需要提前新建好,不存在的桌面是不会跳转的,这里我一共有三个桌面,自己根据需要进行修改,符号对应的键位 #:WIN ^:Ctrl !:Alt +:Shift
VDA_PATH := "./VirtualDesktopAccessor.dll"
hVirtualDesktopAccessor := DllCall("LoadLibrary", "Str", VDA_PATH, "Ptr")
GoToDesktopNumberProc := DllCall("GetProcAddress", "Ptr", hVirtualDesktopAccessor, "AStr", "GoToDesktopNumber", "Ptr")
GoToDesktopNumber(num) {
global GoToDesktopNumberProc
DllCall(GoToDesktopNumberProc, "Int", num)
}
; 使用快捷键 Ctrl + Alt + 字母
^!A::GoToDesktopNumber(0) ; 切换到第 1 个桌面
^!S::GoToDesktopNumber(1) ; 切换到第 2 个桌面
^!Z::GoToDesktopNumber(2) ; 切换到第 3 个桌面
设置开机启动
- 按 Win + R 打开“运行”窗口。
- 输入 shell:startup 并按回车,打开启动文件夹。
- 将你的 AHK 脚本(例如 your_script.ahk)的快捷方式拖到此文件夹中。注意,这里是拖动“快捷方式”而不是脚本本身。你可以右键点击脚本,选择“创建快捷方式”来生成一个快捷方式。
- 每次开机时,Windows 会自动运行启动文件夹中的文件,你的 AHK 脚本就会随系统启动自动运行。
看到启动项目里面有这个ahk脚本开机就可以自动启动了
win11 bug:
- 过快切换桌面,任务栏卡住不刷新,这是win系统的问题,关闭‘显示任务栏应用上的闪烁’可以降低卡住频率
- 切换桌面存在任务栏图标错乱 无法点击的情况,官方貌似看起来不打算修复了
解决方法:请使用StartAllBack来设置任务栏