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

Ada*_*ski 43 keyboard-shortcuts windows-11

今年是2021年,在Windows 11中,如何仅使用快捷键将当前焦点窗口移动到下一个Windows桌面?

\n

我知道我可以使用这些组合切换桌面:

\n

Win+ Ctrl+ \xe2\x86\x92: 切换到下一个桌面

\n

Win+ Ctrl+ \xe2\x86\x90: 切换到上一个桌面

\n

添加以下快捷键对我来说似乎最舒服 - 并且在 Ubuntu 中使用:

\n

Win+ Ctrl+ Shift+ \xe2\x86\x92: 将当前窗口移动到下一个桌面

\n

Win+ Ctrl+ Shift+ \xe2\x86\x90: 将当前窗口移动到上一个桌面

\n

与上面类似的快捷键是可以接受的......但如果我可以将它们重新映射到我喜欢的组合,那就更好了。

\n

有这样的开箱即用的东西吗?或者我需要安装一些第三方工具吗?

\n

Sej*_*mou 28

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

\n
    \n
  1. 下载并安装 AutoHotKey
  2. \n
  3. 克隆VD.ahk存储库(它是一个 AutoHotkey 库,添加了多个用于管理虚拟桌面的脚本功能)
  4. \n
  5. 在克隆的目录中,创建一个新文件(任意名称,以 结尾)并将@Lorenzo Morelli \ 的答案.ahk中的内容粘贴到其中。
  6. \n
  7. 双击该脚本来运行它。快捷方式(Win+ Ctrl+ Shift+ \xe2\x86\x92:将当前窗口移动到下一个桌面;Win+ Ctrl+ Shift+ \xe2\x86\x90:将当前窗口移动到上一个桌面)现在应该可以使用。
  8. \n
  9. 为了确保该脚本在每次 Windows 启动时运行,请创建它的快捷方式并将其放入启动程序的文件夹中。通过在点击+shell:startup后弹出的窗口中键入内容来打开该文件夹。WinR
  10. \n
\n

  • 为此和其他一些 Win11 窗口管理内容创建了一个存储库 https://github.com/phazei/Win11AutoHotKeyFixes (4认同)

小智 23

Win+ Ctrl+ Shift+ \xe2\x86\x92: 将当前窗口移动到下一个桌面

\n

Win+ Ctrl+ Shift+ \xe2\x86\x90: 将当前窗口移动到上一个桌面

\n

这个ahk脚本对我有用:

\n
^#+Left::\nn := VD.getCurrentDesktopNum()\nif n = 1\n{\n    Return\n}\nn -= 1\nVD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)\nReturn\n\n^#+Right::\nn := VD.getCurrentDesktopNum()\nif n = % VD.getCount()\n{\n    Return\n}\nn += 1\nVD.MoveWindowToDesktopNum("A",n), VD.goToDesktopNum(n)\nReturn\n
Run Code Online (Sandbox Code Playgroud)\n

您可以在https://github.com/FuPeiJiang/VD.ahkhttps://www.autohotkey.com/找到更多信息

\n

  • 是的,它在 Win 11 上也不适合我。 (6认同)
  • 您好,我安装了 autohotkey,创建了一个 .ahk 文件,对其进行编辑,复制并粘贴您刚刚放入的代码,然后运行该文件,但它对我不起作用。我缺少什么? (3认同)

Lor*_*lli 22

我把完整的 AutoHotKey 脚本取自 @void 的答案,以帮助不专业/懒惰的人:)

;#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
Run Code Online (Sandbox Code Playgroud)


小智 6

不确定此线程中讨论的是哪个版本,但截至该日期(2022/07/22),在 Win-11 虚拟桌面之间移动窗口很容易。

  1. 选择任务栏上的 VD 图标,活动桌面栏将出现在当前显示屏的底部。
  2. 将鼠标悬停在其上,然后悬停在源桌面上,然后向上进入其上方的空间,显示其所有活动应用程序
  3. 右键单击要移动的应用程序,然后单击“移动到”;选择目标虚拟桌面。

如果您在一个虚拟桌面中工作并且您想要的应用程序已在另一个虚拟桌面上打开,则可以使用一项附加的方便且相关的功能:

  1. 转到任务栏并双击看似未打开的应用程序图标。您将立即进入适当的虚拟桌面和应用程序。

  • 问题是关于仅使用快捷方式。第一点只需按 Win+Tab 快捷键即可实现。但其余的需要使用鼠标并单击三下,这与快捷键相比非常慢。对于高级用户来说,这非常烦人。 (4认同)
  • 超级方便 (2认同)