使用快捷键在 Windows 11 中将当前窗口移动到另一个桌面

使用快捷键在 Windows 11 中将当前窗口移动到另一个桌面

今年是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.ahkhttps://www.autohotkey.com/

答案2

由于我之前没有使用过 AutoHotkey,因此我需要找出一些额外的步骤(与现有答案中解释的内容相比)来找到可行的解决方案:

  1. 下载并安装 自动热键
  2. 克隆性病性贫血存储库(它是一个 AutoHotkey 库,添加了几个用于管理虚拟桌面的脚本函数)
  3. 在克隆的目录中,创建一个新文件(任意名称,以 结尾.ahk)并粘贴内容@Lorenzo Morelli回答进去。
  4. 双击脚本运行。快捷键(Win+++ Ctrl:将当前窗口移动到下一个桌面;+++ :将当前窗口移动到上一个Shift桌面)现在应该可以使用了。WinCtrlShift
  5. 为了确保脚本在每次 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

  1. 切换到您想要移动的窗口所在的虚拟桌面。
  2. 按 Win+Tab 并继续按住 Win 键。
  3. 将窗口拖放到屏幕底部所需的虚拟桌面。

相关内容