今年是2021年。在Windows 11中,如何仅使用快捷键将当前焦点窗口移动到下一个Windows桌面?
我知道我可以使用以下组合来切换桌面:
Win+ Ctrl+ →:切换到下一个桌面
Win+ Ctrl+ ←:切换到上一个桌面
添加以下快捷键对我来说似乎最舒服 - 并且在 Ubuntu 中使用:
Win+ Ctrl+ Shift+ →:将当前窗口移动到下一个桌面
Win+ Ctrl+ Shift+ ←:将当前窗口移动到上一个桌面
类似上面的快捷键是可以接受的...但如果我可以将它们重新映射到我喜欢的组合就更好了。
有没有现成的类似产品?还是我需要安装一些第三方工具?
答案1
Win+ Ctrl+ Shift+ →:将当前窗口移动到下一个桌面
Win+ Ctrl+ Shift+ ←:将当前窗口移动到上一个桌面
该ahk
脚本对我有用:
^#+Left::
n := VD.getCurrentDesktopNum()
if n = 1
{
Return
}
n -= 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
^#+Right::
n := VD.getCurrentDesktopNum()
if n = % VD.getCount()
{
Return
}
n += 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
更多详情请访问https://github.com/FuPeiJiang/VD.ahk和https://www.autohotkey.com/
答案2
由于我之前没有使用过 AutoHotkey,因此我需要找出一些额外的步骤(与现有答案中解释的内容相比)来找到可行的解决方案:
- 下载并安装 自动热键
- 克隆性病性贫血存储库(它是一个 AutoHotkey 库,添加了几个用于管理虚拟桌面的脚本函数)
- 在克隆的目录中,创建一个新文件(任意名称,以 结尾
.ahk
)并粘贴内容@Lorenzo Morelli的回答进去。 - 双击脚本运行。快捷键(Win+++ Ctrl:将当前窗口移动到下一个桌面;+++ :将当前窗口移动到上一个Shift桌面)现在应该可以使用了。→WinCtrlShift←
- 为了确保脚本在每次 Windows 启动时运行,请为其创建快捷方式并将其放入启动程序文件夹中。在
shell:startup
按下Win+后弹出的窗口中键入内容,打开该文件夹R。
答案3
我把从@void 的回答中获取的完整 AutoHotKey 脚本放在了这里,以帮助不熟练/懒惰的人:)
;#SETUP START
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance force
ListLines Off
SetBatchLines -1
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#KeyHistory 0
#WinActivateForce
Process, Priority,, H
SetWinDelay -1
SetControlDelay -1
;include the library
#Include VD.ahk
; VD.init() ;COMMENT OUT `static dummyStatic1 := VD.init()` if you don't want to init at start of script
;you should WinHide invisible programs that have a window.
WinHide, % "Malwarebytes Tray Application"
;#SETUP END
VD.createUntil(3) ;create until we have at least 3 VD
return
^#+Left::
n := VD.getCurrentDesktopNum()
if n = 1
{
Return
}
n -= 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
^#+Right::
n := VD.getCurrentDesktopNum()
if n = % VD.getCount()
{
Return
}
n += 1
VD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)
Return
答案4
- 切换到您想要移动的窗口所在的虚拟桌面。
- 按 Win+Tab 并继续按住 Win 键。
- 将窗口拖放到屏幕底部所需的虚拟桌面。