如何快速将当前窗口移动到 Windows 10 中的另一个任务视图/桌面?

Bor*_*ard 230 windows windows-10

Windows 10 引入了任务视图——拥有多个虚拟桌面的能力。当我在桌面 1 上的窗口中时,将其移动到桌面 2 的最快方法是什么?

目前,我需要进入任务切换器(任务栏中的图标或Win+ Tab),找到窗口,然后在桌面之间拖放它。这很不方便。有没有更快的方法?

Eun*_*Eun 166

我认为为了更快地切换,这应该在标题栏中,所以我为此创建了一个工具:

https://github.com/Eun/MoveToDesktop

在此处输入图片说明

您还可以使用WIN+ ALT+ Left/移动窗口Right或根据需要更改快捷方式。

  • 是的!最后!!!非常感谢!:) 作为一个 Ubuntu 用户,我对 Windows 10 中的虚拟桌面感到非常兴奋……但是如果没有这个热键功能,它感觉毫无用处。现在该功能终于完成了 :) 感谢您的努力并感谢您将其开源。 (8认同)
  • 从发布部分下载`MoveToDesktop-XYzip`。里面有一个`.exe` 文件,把它解压到某个地方并运行它。不需要 Visual Studio 2015。您可能只需要安装 Visual C++ Redistributable 包。 (7认同)
  • 这个工具没有用。 (6认同)
  • @Ninjakannon 抱歉,我应该更具体。我的意思是将一个窗口从任何桌面拖到另一个桌面 - 而不必先切换到该桌面,即从缩略图窗口。以及拖动虚拟桌面以重新排列顺序的能力。 (3认同)
  • 想知道 Windows 何时会在虚拟桌面屏幕上添加拖放功能 - 那太棒了 (2认同)
  • @Ninjakannon 不,我相信 Mikey 正在谈论能够在不改变视图的情况下将屏幕两侧的窗口拖动到下一个桌面。就像在几乎所有 linux 桌面和 Ubuntu Unity 上一样。通常还有一个快速设置,它允许用户仍然吸附到侧面,但如果使用更大的力或动量,那么用户将能够将窗口拖过边界进入下一个虚拟桌面而不是吸附。 (2认同)
  • @ArtemRussakovskii 真的吗?有没有其他人证实这一点?真的需要这样的工具..如果它带有恶意软件就很遗憾 (2认同)

ari*_*nai 91

我也寻找过这个选项,从我所做的搜索(我想我也在微软论坛上看到过),它目前不是内置的。

为了避免使用鼠标,我现在提出的最好方法是:

  • Winkey+tab用于桌面屏幕
  • 右键单击要移动的窗口。
    使用右键单击键盘按钮,如果您的键盘上没有该键,请使用Shift+ F10
  • 选择Move to(或键入M,因为它已标记),然后是您想要的桌面(或N对于新桌面,也已标记)

这并没有多大帮助,但这就是在有人开发一些东西以使其更容易之前的作用。

更新:我已经开始研究这个。当应用程序在桌面之间移动时,有一个注册表值会发生变化。在那个位置,有所有打开的应用程序:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\ApplicationViewManagement 
(I guess the session number will change if there is more than one logged in).
Run Code Online (Sandbox Code Playgroud)

当前桌面的 id 在这里:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\VirtualDesktops\CurrentVirtualDesktop
Run Code Online (Sandbox Code Playgroud)

将其更改为其他虚拟桌面键是不够的,因为需要刷新一些 UI。

我已经检查过 procmon,过程中使用的 dll 是:

  • msctf.dll
  • dll文件
  • windows.immersiveshell.serviceprovider.dll
  • shell32.dll
  • 界面动画.dll

我猜其中一个负责视觉刷新,主要嫌疑人是 UIAnimation.dll!

如果有人想继续调查,这将是一个开始。

  • 刚刚学到了一些新的有用的东西 Shift + F10 = 右键单击 (10认同)
  • 按 Win + Tab 后,您也可以简单地将窗口拖动到您想要的桌面。 (6认同)
  • @Nearoo 哪种失去了快速完成的意义 - 主要是没有鼠标。 (5认同)
  • @arieljannai Nah,拖动它很可能比右键单击、打开子菜单并单击桌面更快。不过,像在 Linux 上这样的快捷方式是最好的。 (3认同)

Cic*_*K24 19

更新:它接缝停止在最新的 Windows 上工作,这个项目被作者停止......

我使用Windows 10 虚拟桌面增强器

只需下载它,运行它(如果需要,还可以配置自动启动)。

然后您只需按Win+ Ctrl+ Shift+ Arrow Left/ 即可Arrow Right将您的应用程序移动到其他桌面并切换到该桌面。

  • 简单、透明、易于安装 = 完美! (3认同)

小智 17

在管理 Windows 的这个级别上,我真的认为您应该使用第三方程序来帮助您。我自己的解决方案是为AutoHotKey (AHK)添加一个简单的快捷方式:

#|::Send, +{F10}M{Enter}
Run Code Online (Sandbox Code Playgroud)

#|是快捷方式,转换为Win+|

在我的键盘上,这是有道理的,|如上所述Tab,但您可以将其更改为适合您需要的任何内容。

使用arieljannai 的上述答案,通过发送Shift+ F10, M, Enter,如果您在两个虚拟桌面之间切换,标记的窗口将被移动到另一个虚拟桌面。

有关 AHK 的介绍,请参阅https://autohotkey.com/docs/Tutorial.htm

  • *F10* 在我的电脑上什么也不做。我的(法语)键盘的 *contextual menu* 键可以完成这项工作。 (2认同)

小智 11

我不确定为什么上面没有提到这一点,但以下是执行此操作的本地方法,无需下载帮助程序。

  1. Win+Tab快速查看所有应用程序/窗口(如果您有多个显示器,则每个虚拟桌面的每个显示器上都会有一个列表)。

  2. 右键单击要移动的应用程序/窗口,将鼠标悬停在移动到 上,然后选择要将应用程序发送到的桌面。

在我发现这个之前,我什至尝试了上面发布的MoveToDesktop项目,但我发现这同样简单,而且MoveToDesktop菜单似乎并没有出现在所有应用程序中(例如,目前不是 Chrome 和 Sublime)。

  • 太糟糕了,它仍然没有热键。虽然这也很好用。 (4认同)
  • 在 Ubuntu Linux 中*多年* 的好处是,您可以设置虚拟桌面,而无需将手从键盘上移开。在处理任何您正在处理的工作的过程中,您可以决定使用其热键启动应用程序,然后再决定您更愿意将它放在新的或其他工作区中,并使用另一个热键将其发送到那里。无需将手移到鼠标或触摸板上。它非常快速和高效。我在 Windows 中非常想念它。事实上,这也是我现在只将 Windows 用于某些游戏或 Adob​​e 产品的原因之一。 (4认同)
  • 我一直使用热键将屏幕从显示器 1 移动到显示器 2。我一直使用热键在桌面之间移动,那么为什么不用热键在虚拟桌面之间移动窗口呢?我的意思是在 win10 中构建本机热键 (2认同)

小智 10

另一个 AHK 脚本

#Left::
  WinGetTitle, Title, A
  WinSet, ExStyle, ^0x80, %Title%
  Send {LWin down}{Ctrl down}{Left}{Ctrl up}{LWin up}
  sleep, 50
  WinSet, ExStyle, ^0x80, %Title%
  WinActivate, %Title%
Return

#Right::
  WinGetTitle, Title, A
  WinSet, ExStyle, ^0x80, %Title%
  Send {LWin down}{Ctrl down}{Right}{Ctrl up}{LWin up}
  sleep, 50
  WinSet, ExStyle, ^0x80, %Title%
  WinActivate, %Title%
Return
Run Code Online (Sandbox Code Playgroud)

这将使用 win+箭头键向左或向右移动活动窗口。在 Win10 版本 10.0.17134.1365 上测试,关闭动画。

  • 请注意,“#Left”和“#Right”与将窗口捕捉到屏幕一侧的快捷方式冲突。修改为 `!#Left` 和 `!#Right` (Win + Alt + 箭头) (6认同)
  • 流畅运行,也可以使用两个以上的虚拟桌面。 (2认同)

ari*_*nai 7

z虚拟桌面

我正在为此目的使用它。它有键盘快捷键 - 这很棒。
如果您报告问题或提出问题或提供可能的功能,开发人员会非常敏感。

最好的功能是DesktopView见下文。

GitHub 上有更多选项,我目前不记得了

以下是 zVirtualDesktop 的一些截图

您可以从这些系统托盘图标中进行选择 在此处输入图片说明

它有一个非常好的功能,DesktopView如下所示。使用此视图,您可以将窗口拖放到任何桌面。它也像 Alt+Tab 一样工作,您可以单击缩略图转到该窗口。 在此处输入图片说明

注意: 我在大约 1.5-2 年前回答了这个问题,并提供了一些开始开发某些东西的提示。但是现在,已经为此开发了一些解决方案。
我添加了一个新答案,因为编辑/改进我的前一个答案毫无意义,因为它们完全不同。

  • 我检查了 zVirtualDesktop,它看起来不值得信赖。托管在 Github 上但是封闭源代码(显然源已被删除),显然不小心上传到 Github 的旧版本(该 exe 在历史记录中)具有不同的使用许可(私人使用永久免费)但会自动更新到人人付费版本......网站上也没有提到价格,只有当你已经启动它时 (3认同)
  • 我没有用过这个,但是 [VirtuaWin](http://virtuawin.sourceforge.net/) 也值得一试,因为它 (1) [可以自动将程序捕获到他们自己的桌面](https://softwarerecs .stackexchange.com/a/48103/6389),和 (2) 有提高生产力的插件。 (2认同)

pet*_*san 5

从 Greenonline 和 Sebastien 的解决方案中得到提示:

  1. 点击“Win+Tab”进入工作区管理视图
  2. 用于导航到感兴趣的窗口的方向键(如果这是最后一个焦点窗口,则不需要)。
  3. 点击“上下文”键可打开下拉菜单(通常是“Ctrl”和“Alt”之间带有 Windows 徽标的键),您可以在其中选择移动到其他桌面。

所以,这不是很简单,但绝对是你可以轻松地自动化双手完成的事情。