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


156

Windows 10引入了任务视图 -具有多个虚拟桌面的功能。当我在Desktop1上的窗口中时,将其移至Desktop2的最快方法是什么?

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


3
这就是我的方法,也是我知道如何做的唯一方法。按Windows键+ Tab再次Tab键。这将从活动程序缩略图和活动的“任务视图”界面中删除大纲。使用箭头键在“任务视图”界面上的桌面之间移动。突出显示要切换到的桌面后,按Enter
zain.ali 2015年

7
噢,您可以尝试WINKEY + CTRL +左箭头WINKEY + CTRL +右箭头
zain.ali

41
这不是在桌面之间导航,而是将窗口从一个桌面移动到另一个桌面。是的,Ctrl + Win +左/右很酷:)
Borek Bernard

在我兄弟正在从事的项目中,他将其实现为WINKEY-X,WINKEY-V。作品超级流畅。如果只有Microsoft赶上... youtube.com/watch?v=BAc7sBvViFg
Wouter

3
什么时候可以期望Windows内置热键?
主理想域

Answers:


109

我认为应该在标题栏中进行快速切换,因此我为此创建了一个工具:

https://github.com/Eun/MoveToDesktop

在此处输入图片说明

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


1
是! 最后!!!非常感谢!:)作为Ubuntu用户,我对Windows 10中的虚拟桌面感到非常兴奋...但是如果没有此热键功能,那就感觉毫无用处。现在该功能终于完成了:)感谢您的努力,也感谢您开源它。
亚当斯基

5
MoveToDesktop-X.Y.zip从发布部分下载。在其中有一个.exe文件,将其解压缩到某个位置并运行它。不需要Visual Studio2015。您可能只需要安装Visual C ++可再发行组件包。

4
此工具无效。
K罗宾逊

2
想知道窗口何时将拖放内容添加到虚拟桌面屏幕上,这真是太神奇了
Mikey 2016年

2
@Ninjakannon不,我相信Mikey谈论的是能够在不更改视图的情况下将屏幕两侧的窗口拖动到下一个桌面中。就像几乎所有Linux桌面和Ubuntu Unity上一样。通常,还有一个用于捕捉的设置,允许用户仍然捕捉到侧面,但是如果使用更多的力或动量,则用户将能够将窗口拖过边框拖动到下一个虚拟桌面中,而不是捕捉。
mchid

67

我也在寻找该选项,并且从我进行的搜索中(我想我也在Microsoft论坛上也看到了它),目前还没有内置的可用功能。

为了避免使用鼠标,我目前想出的最好方法是:

  • 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).

当前桌面的ID在这里:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\VirtualDesktops\CurrentVirtualDesktop

仅将其更改为其他虚拟桌面密钥是不够的,因为需要刷新某些UI。

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

  • msctf.dll
  • twinui.dll
  • windows.immersiveshell.serviceprovider.dll
  • shell32.dll
  • UIAnimation.dll

我猜想其中的一个负责视觉刷新,而主要的怀疑是UIAnimation.dll!

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


4
在按Win + Tab后,您也可以简单地将窗口拖动到所需的桌面。
Nearoo

2
@Nearoo失去了快速执行操作的目的-大多没有鼠标。
arieljannai

2
@arieljannai Nah,拖动它的速度可能比右键单击,打开子菜单并单击桌面要快。不过,最好在Linux上使用快捷方式。
Stefan Fabian

1
刚刚学到了一些新的有用的内容Shift + F10 =右键单击
JDuarteDJ


11

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

#|::Send, +{F10}M{Enter}

#| 是快捷方式,翻译为WIN- | 在我的键盘上,如| 在TAB之上,但是您可以根据需要进行更改。

使用arieljannai的上述答案,通过发送SHIFT+F10 M ENTER,如果您在两者之间进行切换,则标记的窗口将被移至另一个虚拟桌面。

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


2
F10在我的计算机上不执行任何操作。我的(法语)键盘的上下文菜单键可以完成这项工作。
塞巴斯蒂安

win+Tab, context, V, Enter 关于瑞士德语的设置
lucidbrot

1
仅F10不会显示上下文菜单,您必须按住shift键(在上面的AHK中以+表示)。更新了答案以反映错字。
凯文夫

6

我不确定为什么上面没有提到它,但是下面是不下载帮助程序的本地方法。

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

2.右键单击要移至的应用程序/窗口->“移至”,然后选择要将应用程序发送到的桌面。

在我找到这个之前,我什至尝试了上面发布的MoveToDesktop项目,但是我发现这很容易,而且MoveToDesktop菜单似乎并没有出现在所有应用程序上(例如,目前没有Chrome或Sublime)。


3
太糟糕了,它仍然没有热键。虽然这也很好。
JP Hellemons,

一旦您完成了台式机的设置,就很少需要搬东西了,不是吗?

我总是使用热键将屏幕从监视器1移到2。我总是通过热键在桌面之间移动,那么为什么不通过热键在虚拟桌面之间移动窗口呢?我的意思是在win10中构建本机热键
JP Hellemons,

确实会很好。

4
多年来,Ubuntu Linux的优点是您可以设置虚拟桌面,而无需动手操作键盘。在处理任何工作的过程中,您可以决定使用其热键启动一个应用程序,然后仅在此后决定将其放置在新的或其他工作区中,然后使用另一个热键将其发送到那里。无需将手移到鼠标或触摸板上。它的速度和效率都非常高。我在Windows中非常想念它。实际上,这就是我现在仅将Windows用于某些游戏或Adobe产品的原因之一。
cdaddr

6

zVirtualDesktop

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

最好的功能是DesktopView参见下文。

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

这是zVirtualDesktop的一些屏幕截图

您可以从这些系统任务栏图标中选择 在此处输入图片说明

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

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


有许多程序可以执行此操作,但是OP正在询问Windows中包含的Virtual Desktop Manager。
skan

2
我没有用过,但是VirtuaWin也值得一试,因为它(1)可以将程序自动捕获到自己的桌面中,并且(2)具有附加组件来提高生产率。
奥克

1
我签出了zVirtualDesktop,它看起来并不值得信赖。托管在Github上,但源是封闭的(显然源已被删除),显然是意外上载到Github的旧版本(历史上的exe)具有不同的使用许可证(永久免费使用),但会自动更新为每个人都付钱的版本...网站上也没有提及价格,只有当您已经启动它时
sinni800

3

我将autohotkey与键盘快捷键CTRL + WIN + SHIFT + LEFT或RIGHT一起使用,以将窗口推送到另一个虚拟桌面。我只使用2个虚拟桌面,所以无论我按向左还是向右,这对我都有效。

AHK代码:

#^+Left::
#^+Right::
Send #{tab}        ;WIN+TAB=Open the desktop view
Sleep 200
Send +{F10}M{Enter};SHIFT+F10=context menue. M=move. Enter for the first desktop in the list.
Sleep 100
Send #{tab}        ;WIN+TAB=Close the desktop view
return

请注意,这仅对主监视器上的应用程序有效(在多监视器设置中)。我需要在“发送#{tab}”之后添加“发送{左} {右​​}”,以确保在尝试移动之前已真正选择了该应用程序,否则该操作无效。

2

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

  1. 点击“ Win + Tab”进入工作区管理视图
  2. 方向键可导航到感兴趣的窗口(如果这是焦点所在的窗口,则没有必要)。
  3. 点击“上下文”键,打开一个下拉菜单,您可以在其中选择移至其他桌面。

因此,不是很简单,但是绝对可以轻松地自动完成操作。


1

从Windows 10版本1803开始,将当前/目标窗口从一个桌面移动到另一个桌面的简单方法是通过以下方式:

  1. Win + Tab查看时间线。
  2. 在“桌面”部分下方,您将看到当前桌面下的“正在运行的程序列表”窗口。单击并按住窗口,然后将其拖到所需的特定桌面中。
  3. 瞧!


另外,它是本机的,不需要任何第三方软件。


0

Autohotkey解决方案。绑定到Win + Tilde键。该脚本将自动执行您将要发送到下一个(如果您在第一个)或上一个桌面的键盘操作。但是请务必小心-如果此输入到达错误的目的地,则可能很危险。

SendMode Input 
#`::
    send {blind}#{tab}
    sleep 1000
    send {appskey}
    sleep 300
    send {down}
    sleep 200
    send {down }
    sleep 200
    send {right}
    sleep 200
    send {left}
    sleep 200
    send {right}
    sleep 300
    send {enter}
    sleep 300
    send {esc}
    sleep 300
return

-4

只需按下Winkey + Tab,现在选择程序(窗口)并将其拖到下面显示的桌面列表(桌面1或2)。做完了 别无退路..


5
“别无选择”显然是错误的,如其他答案之一所示。
DavidPostill

尽管投票否决,这仍是最好的答案
jmhostalet 18-3-13

-5

Win+ Shift+ Arrow Left/Arrow Right

要么

Win+ Arrow Left/Arrow Right

要么

Win+ Arrow Up/Arrow Down


1
这些快捷方式不会在虚拟桌面之间移动。
Michael Mior

3
它似乎在多个显示之间移动
jlanza
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.