求一个 windows 虚拟桌面切换的方案

2 天前
 lnbiuc

好蠢的设计啊
win + tab 只能进任务视图,然后鼠标再点击需要的桌面(设置里不给修改)
win + ctrl + 左右键 单个方向循环多个桌面

想改成
win + shift + tab 进入任务视图
win + tab 在多个桌面循环切换

mac 上的多个桌面太好用了

764 次点击
所在节点    问与答
10 条回复
sparkssssssss
2 天前
有个工具集里面包含一个小工具,可以设置是个虚拟屏幕,类似 linux 的那种,通过快捷键可以来回切换
SysinalsSuite/Desktops64.exe

minami
2 天前
虽然品味这东西是主观的,但是 windows 是自由的,你直接 AHK 启动就完了
https://github.com/mogya/win-11-virtual-desktop-enhancer
geelaw
2 天前
@coolloves #1 Sysinternals 里面的 desktops64 和 Windows 10 引入的虚拟桌面完全不同,前者用的是 Win32 Desktop 对象,是“真实”桌面,后者不过是 dwm 选择显示或者不显示一些窗口罢了。

Win32 Desktop 对象在日常中接触最多的是“安全桌面”,比如按下 Ctrl+Alt+Del 后看到的界面(这个界面叫做“Windows 安全”对话框),以及登录注销时的界面,以及 UAC 在最高级别时的提权对话框所在的界面,这些界面和日常使用应用程序的 Desktop 对象是隔离的。我最近在 Windows 11 上使用 desktops64 建立更多 Desktop 对象时发现现在的 explorer 和 UWP 都不支持多 Desktop 对象了(具体表现是额外的 Desktop 里壁纸不显示,并且打开“开始”菜单和 UWP 时要么失败,要么被切回第一个 Desktop 对象)。
geelaw
2 天前
回到楼主的问题,看了一下 @minami #2 似乎有现成的软件,但如果要自己动手的话,解决方案分两步。

1. 用组合键映射软件把 Windows+Shift+Tab 映射为 Windows+Tab
2. 用组合键映射软件把 Windows+Tab 映射为一个几乎不可能用到的组合键 X
3. 对组合键 X 作出反应

这里难点在于如何循环切换虚拟桌面,Windows 没有自带这个功能。思路是利用 IVirtualDesktopManager 接口,它允许做三件事:

- 获取已知窗口所在的虚拟桌面 ID
- 检查已知窗口是否在当前虚拟桌面
- 把已知窗口挪动到已知 ID 的虚拟桌面上

于是要实现循环切换虚拟桌面,可以这样:

1. 建立一个牺牲的窗口 A 并显示,这会导致这个窗口位于当前虚拟桌面上
2. 获取 A 所在的虚拟桌面 ID ,这当然就是当前的
3. 发送 Ctrl+Windows+Right
4. 检查 A 是否在当前的虚拟桌面上,如果不在,说明步骤 3 成功右移了一个桌面,删去 A 并结束
5. 如果 A 在当前的虚拟桌面上,说明一开始位于最后一个虚拟桌面,因此需要反复发送 Ctrl+Windows+Left

如何判断 Ctrl+Windows+Left 已经发送了足够多次?方法同上面判断是否“按尽了 Ctrl+Windows+Right”,反复建立和删除牺牲的窗口。

上面的方法仅使用 Windows 文档中允许的方法,因此理论上在未来的 Windows 上都是有效的。
LeonL1
2 天前
win 笔记本配合触摸屏还是挺方便的,四指上划显示任务及桌面视图,四指左右划切换桌面
lnbiuc
2 天前
@geelaw #4 这个设计就很难受,不循环切换的话,脑子里就需要记住桌面的位置,不然每次都是左右乱按,大概率误操作
whitefable
2 天前
曾经我也有楼主的问题,甚至还有我想将一个软件快速扔到另一个桌面的行为但没法设置。最终我选择了使用第三方软件,楼主可以尝试一下 Dexpot 看看符不符合你的需求,里面设置项挺多的也可以自定义快捷键等等
BlitheChiang
2 天前
https://github.com/hwtnb/SylphyHornPlusWin11

这个工具蛮好用的,可以很方便操作虚拟桌面
Tyrant1984
2 天前
https://ex.noerr.eu.org/t/1074431
站内有大佬做了这个工具,可以看一下,我用着感觉还挺好
heyline
1 天前
有没有可能,有一种东西叫做鼠标手势,右键按住一划就切换了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1160405

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX