V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lnbiuc
V2EX  ›  问与答

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

  •  
  •   lnbiuc · 17 小时 31 分钟前 · 586 次点击

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

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

    mac 上的多个桌面太好用了

    10 条回复    2025-09-19 16:22:21 +08:00
    coolloves
        1
    coolloves  
       17 小时 24 分钟前
    有个工具集里面包含一个小工具,可以设置是个虚拟屏幕,类似 linux 的那种,通过快捷键可以来回切换
    SysinalsSuite/Desktops64.exe

    minami
        2
    minami  
       17 小时 21 分钟前
    虽然品味这东西是主观的,但是 windows 是自由的,你直接 AHK 启动就完了
    https://github.com/mogya/win-11-virtual-desktop-enhancer
    geelaw
        3
    geelaw  
       17 小时 9 分钟前 via iPhone
    @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
        4
    geelaw  
       16 小时 56 分钟前
    回到楼主的问题,看了一下 @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
        5
    LeonL1  
       16 小时 45 分钟前
    win 笔记本配合触摸屏还是挺方便的,四指上划显示任务及桌面视图,四指左右划切换桌面
    lnbiuc
        6
    lnbiuc  
    OP
       16 小时 39 分钟前
    @geelaw #4 这个设计就很难受,不循环切换的话,脑子里就需要记住桌面的位置,不然每次都是左右乱按,大概率误操作
    whitefable
        7
    whitefable  
       16 小时 7 分钟前
    曾经我也有楼主的问题,甚至还有我想将一个软件快速扔到另一个桌面的行为但没法设置。最终我选择了使用第三方软件,楼主可以尝试一下 Dexpot 看看符不符合你的需求,里面设置项挺多的也可以自定义快捷键等等
    BlitheChiang
        8
    BlitheChiang  
       15 小时 40 分钟前
    https://github.com/hwtnb/SylphyHornPlusWin11

    这个工具蛮好用的,可以很方便操作虚拟桌面
    Tyrant1984
        9
    Tyrant1984  
       15 小时 17 分钟前
    https://www.v2ex.com/t/1074431
    站内有大佬做了这个工具,可以看一下,我用着感觉还挺好
    heyline
        10
    heyline  
       11 小时 14 分钟前
    有没有可能,有一种东西叫做鼠标手势,右键按住一划就切换了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:36 · PVG 03:36 · LAX 12:36 · JFK 15:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.