如何更改Windows 10中虚拟桌面之间切换的快捷键?


64

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

我想在Windows 10中有类似的东西。

更新解决方案2017,Windows 10x64

  1. 通过此更新程序将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. 管理员身份运行virtual-desktop-enhancer.exe

2
这是一个有效的问题。在Windows 10中,允许您在虚拟桌面视图之间切换。这与Mac OSX和Linux过去的切换方式非常相似。
Geruta

也许有一个命令提示符或powershell命令可以切换到特定的桌面?(如果是这样,那么制作批处理脚本之类的东西应该很容易,然后只需使用autohotkey将win + 1/2/3/4重定向到所述批处理脚本即可),否则,当程序将焦点切换到Windows 10时,它将切换到该程序所在的桌面。因此,这意味着,如果有一种方法可以在特定的桌面上打开程序,则可以基于该功能以某种技巧来完成我上面描述的操作。
Cestarian

请注意,默认情况下,在Windows 10中,它会WIN + 1/2/3/4...在任务栏中相应编号的位置打开,切换或最小化窗口。例如,如果我将Chrome固定在位置1的任务栏上且当前处于关闭状态,WIN + 1则将其打开。再次按下将使其最小化,再次按下将使窗口返回。我可以将其与其他快捷方式结合使用。例如,现在按下WIN + SHIFT + 1将打开一个新的Chrome窗口。
Ninjakannon '16

更新:版本(0.9.1)可以正常运行。从2019
Dariusz Filipiak

Answers:


41

您需要的如下:

  • 捕捉窗口: WIN +LEFTRIGHT (可用于UPDOWN进入象限)
  • 切换到最近的窗口: Alt +Tab(未更改)–按住可显示新的任务视图窗口视图,放开并切换到应用。
  • 任务视图: WIN +Tab–“新任务”视图打开并保持打开状态。
  • 创建新的虚拟桌面: WIN +Ctrl+d
  • 关闭当前的虚拟桌面: WIN +Ctrl+F4
  • 切换虚拟桌面: WIN +Ctrl+LEFTRIGHT

所以这里的区别在于,您必须首先使用(WIN + CTRL + D)创建第二个桌面,然后使用(WIN + CTRL + RIGHT)切换到第二个桌面
Geruta 2015年

17
仍然缺乏使用一个快捷方式切换到特定桌面的方法(即直接从桌面1切换到桌面3)
Cestarian 2015年

不幸的是,WIN CTRL RIGHT在Samsung Ativ 9+上不起作用。LEFT确实可以工作,但是在3个虚拟桌面之间没有环绕。有更好的经验吗?
卡尔

3
因不回答这个问题而被否决:它询问如何更改它,特别是为了能够使用桌面号码进行切换。
卢克,

16

我想我正是在构建您想要的东西。我在Linux上使用窗口管理器,并希望在Windows上以类似方式使用热键。

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

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


在我注释掉代码的最后一段之后,该脚本可以完美地工作。感谢你的分享。我已经对代码所做的更改提出了请求请求。
大卫,

12

我刚刚为autohotkey编写了一个脚本,该脚本可在Windows 10中最多10个台式机上完成。

如何运作:

下载并安装autohotkey。将下面的代码复制并粘贴到记事本中,并以文件扩展名.ahk保存

我建议在启动文件夹中为此文件创建一个快捷方式,以便在Windows启动时运行。

默认热键:

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

新桌面:CTRL + WIN + D

关闭桌面:CTRL + WIN + F4

显示桌面状态:WIN +'

重要:

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

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

这并不意味着您不能将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}
}

如果您不喜欢系统任务栏中的绿色小图标,也可以在脚本的开头添加#NoTrayIcon。
OptimistPrime

1
哦...我droptic已经创建了一个更好的脚本,可以从注册表中获取活动桌面和总桌面。好主意!
OptimistPrime

1
但是,请注意,每个用户/计算机的注册表路径可能不同。我不知道这有什么影响,但当前桌面ID的路径位于数字2的文件夹中,而不是1: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\2\VirtualDesktops
OptimistPrime

真棒!感谢分享。我只是将^ 1更改为#1,我想使用Ctrl而不是Win键。
Gueorgui Obregon,

这个脚本真棒!我唯一需要注意的是,我已经重新定义了大写锁定,并且我想将其添加到脚本中。可悲的是,它不起作用。仅当我删除以下行(在脚本之前)时,它才起作用:CapsLock :: Ctrl有什么想法可以解决此问题?删除此行是可行的,但是让CAPSLOCK充当Ctrl对我来说非常重要...
bitstream

1

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

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
    }


-1

我直接从Windows 7进行了就地升级,升级到10,并尝试使用Windows + CTRL + Arrow键在桌面之间切换,因为它们根本无法工作。但是,就我而言,解决方案很简单-使用单个功能键(F1,F2,F3等)可以在虚拟桌面之间轻松切换。现在,我不知道这是特定于我的HP笔记本电脑还是已发行版本的一部分,但是它既优雅又简单。我假设只要您没有为其他目的映射功能键,它也应该为您服务。


1
F1是我使用过的所有Windows机器的帮助。您的回答毫无道理。
DavidPostill

这绝对不是我在Dell Precision笔记本电脑(带有Win 10)上的经验。Win + Ctrl + F1 / F2 / F3不执行任何操作。如果他们这样做会很棒。
Michael Beijer 2015年

-1

我使用的是SysInternals的Desktops v2.0,我在一个键下有4个桌面:F1,F2,F3,F4(有人使用F1来调用帮助吗?)。对我而言,Windows 10解决方案由于三个快捷键而无法使用。

台式机v2.0官方:https : //technet.microsoft.com/zh-cn/sysinternals/cc817881.aspx


该产品不支持Windows 8及更高版本。我怎么知道这一点,因为我特别记得,过去有一个问题问关于Windows 8上的所说程序
Ramhound 16-4-12

1
但是它完美的Windows 8.1下和10
dblacha

-2

OptimistPrime提供的AHK脚本:https : //superuser.com/a/1050690/184229 对我不起作用(键无效),但是

这一个很好用:https : //github.com/pmb6tz/windows-desktop-switcher/blob/master/desktop_switcher.ahk


请在参考链接中引用答案的关键部分,因为如果链接页面发生更改,答案可能会失效。
DavidPostill

我本来希望对我提到的答案发表评论,但不允许这样做。如果您仔细查看了我的答案,您会注意到:1.它确实给出了原始问题的答案; 2.它非常冗长,并且不能真正复制我给出的第二个链接的内容。
dvo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.