如何更改在 Windows 10 或 Windows 11 中切换虚拟桌面的快捷键?

如何更改在 Windows 10 或 Windows 11 中切换虚拟桌面的快捷键?

在 Linux 中,我使用快捷方式在 4 个工作区之间切换:win+ 1/2/3/4

我希望在 Windows 10 或 Windows 11 中拥有类似的东西。

更新解决方案

  1. (Windows 11 不需要此步骤 - 仅适用于 Windows 10 用户)通过此方法将 Windows 版本更新到最新版本 更新程序. 您可能还需要适用于 Visual Studio 2015 的 Visual C++ 可再发行组件
  2. 下载并解压缩Windows 10 虚拟桌面增强器(0.9.1)对我有用。
  3. 将文件 settings.ini 的内容更改为
[KeyboardShortcuts]
Switch=LWin
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
PlusTen=
  1. (仅限 Windows 11 用户)替换虚拟桌面访问器文件来自https://github.com/skottmckay/VirtualDesktopAccessor/tree/master/x64/Release

  2. 跑步虚拟桌面增强器.exe作为行政人员

  3. 使用快捷键win+ 1/2/3/n(其中n是您创建的虚拟桌面的数量)可直接在虚拟桌面之间切换, win+`~可实现“公开”效果。

答案1

您所需要的如下:

  • 捕捉窗口: WIN+LEFT或(可与或 一起RIGHT 使用以进入象限)UPDOWN
  • 切换到最近窗口: Alt+ Tab(未改变)——按住显示新的任务视图窗口视图,放开则切换到应用程序。
  • 任务视图: WIN+ Tab– 新任务视图打开并保持打开状态。
  • 创建新的虚拟桌面: WIN+ Ctrl+d
  • 关闭当前虚拟桌面: WIN+ Ctrl+F4
  • 切换虚拟桌面: WIN+ Ctrl+LEFTRIGHT

答案2

我想我刚刚构建了你正在寻找的东西。我在 Linux 上使用窗口管理器,并希望在 Windows 上以类似的方式使用热键。

https://github.com/pmb6tz/windows-desktop-switcher

我的脚本使用 CapsLock,因为它对我来说更方便,但您可以轻松配置它以适合您。其中可能有一个或两个错误,但总的来说,我发现它非常可靠。希望这对您有所帮助!

答案3

我刚刚编写了一个脚本自动热键可以在 Windows 10 中为最多 10 个桌面实现此目的。

如何让它工作:

下载并安装自动热键. 将下面的代码复制并粘贴到记事本中,然后以文件扩展名 .ahk 保存

我建议在启动文件夹中创建该文件的快捷方式,以便它在 Windows 启动时运行。

默认热键:

切换桌面:WIN+DESKTOP NUMBER (0=桌面号10)

新桌面:CTRL+WIN+D

关闭桌面:CTRL+WIN+F4

显示桌面状态:WIN+'

重要的:

为了使其正常工作,您必须仅使用热键来打开、关闭和更改桌面,因为脚本会监听这些热键以了解当前和总数的桌面。

如果您使用鼠标通过 WIN+TAB 菜单创建、关闭或更改桌面,则脚本将停止工作。为了使其再次工作,您需要编辑前两行以反映桌面的当前状态。(desktopcount/currentdesktop)

这并不意味着您不能使用 WIN+TAB 屏幕作为当前桌面的概览。您实际上可以将其与热键结合使用来组织桌面。是的,当 Windows 任务查看器打开时,热键仍然有效!(WIN+TAB)只是不要使用鼠标!!!

此外,在创建新桌面之前,请等待脚本在 Windows 启动后加载,否则它将无法工作。这可能需要一段时间,具体取决于您有多少个启动程序。

好的,我又添加了一项功能,以便更轻松地将脚本与桌面状态重新同步。现在有一个热键可以显示脚本认为桌面所处的状态,因此您所要做的就是用鼠标调整桌面以适应脚本,然后所有内容都会再次同步!对于我使用瑞士键盘的人来说,将“?”键放在 0 旁边效果很好,并且在其上放置一个 ? 也有意义,但在其他键盘上,您可能希望更改这一点,只需将 0/10 热键后面的行(以 #' 开头)更改为您喜欢的任何内容即可轻松完成。

实际上,我刚刚意识到......只要桌面数正确,创建新桌面就会自动重新同步当前桌面值。

(以 ; 开头的行是注释,不会影响脚本)

代码:

#NoTrayIcon
;If the script stops working:
;Change the following values to reflect your current desktop state and reload the script.
;Remember to change them back to 1 after reloading the script if you have it set to start with Windows

desktopcount := 1
currentdesktop := 1

;You can change the hotkeys for creating, closing, and switching desktops bellow.
;The current hotkeys are CTRL+WIN+D for new desktop, CTRL+WIN+F4 to close desktop
;and WIN+NUMBER for switching desktops.
;For example, to change the hotkey for new desktop replace ^#D bellow with the desired hotkey.
;Refer to the autohotkey documentation for a full list of symbols refering to modifier keys,
;as you can see ^ is CTRL and # is WIN key.
;If you wanted to change the switch desktop from WIN key to CTRL for example you would have
;to replace the # before each number to a ^

^#D::NewDesktop()
^#F4::CloseDesktop()
#1::SwitchDesktop(1)
#2::SwitchDesktop(2)
#3::SwitchDesktop(3)
#4::SwitchDesktop(4)
#5::SwitchDesktop(5)
#6::SwitchDesktop(6)
#7::SwitchDesktop(7)
#8::SwitchDesktop(8)
#9::SwitchDesktop(9)
#0::SwitchDesktop(10)
#'::MsgBox Desktop Count = %desktopcount%`nCurrent Desktop = %currentdesktop%

;Do not change anything after this line, unless you know what you are doing ;)
;-----------------------------------------------------------------------------------------------
SwitchDesktop(desktop)
{

    global desktopcount
    global currentdesktop
    desktopdiff := desktop - currentdesktop
    if (desktop > desktopcount)
    {
        return
    }
    if (desktopdiff < 0)
    {
        desktopdiff *= -1
        Loop %desktopdiff%
        {
        Send ^#{Left}
        }   
    }
    else if (desktopdiff > 0)
    {
        Loop %desktopdiff%
        {
        Send ^#{Right}
        }
    }
    currentdesktop := desktop
}

NewDesktop()
{
    global desktopcount
    global currentdesktop
    if (desktopcount > 9)
    {
        return
    }
    desktopcount ++
    currentdesktop := desktopcount
    Send ^#d
}

CloseDesktop()
{
    global desktopcount
    global currentdesktop
    desktopcount --
    if (currentdesktop != 1)
    {
        currentdesktop --
    }
    Send ^#{f4}
}

答案4

例如,我想将 Page Down 设置为下一个桌面,将 Page Up 设置为上一个桌面。安装 AutoHotkey 后,我创建一个新的 AutoHotKey 脚本并将这些代码添加到其中,然后保存并运行脚本

PgDn::^#Right ;Next Desktop
return 

PgUp::^#Left ;Previous Desktop
return 

效果会很好:)

更新:有时上述代码不起作用,您必须单击某个点。然后我将其更改为:

PgDn::
   {
      MouseGetPos,,,win
      WinGetClass, class, ahk_id %win%
      If class in Progman,WorkerW
         send {Click}^#{Right}  
      else
         send ^#{Right}  ; Next  Desktop  
      return
    }

PgUp::
    {
       MouseGetPos,,,win
       WinGetClass, class, ahk_id %win%
       If class in Progman,WorkerW
          send {Click}^#{Left}
       else
          send ^#{Left}  ; Previous Desktop  
       return
    }

相关内容