題 如何在Windows 10中快速將當前窗口移動到另一個任務視圖/桌面?


Windows 10推出了一個 任務視圖  - 擁有多個虛擬桌面的能力。當我在Desktop1的窗口中時,將它移動到Desktop2的最快方法是什麼?

目前,我需要進入任務切換器(任務欄中的圖標或Win + Tab),找到窗口並將其拖放到桌面之間。這很不方便。有更快的方法嗎?


126
2017-08-04 11:26


起源


這就是我這樣做的方式,也是我知道怎麼做的唯一方法。按下 Windows鍵+ Tab 。按 再次選項卡 。這將從活動程序縮略圖和任務視圖界面中刪除大綱。使用箭頭鍵在“任務視圖”界面上的桌面之間移動。突出顯示要切換的桌面後,按 輸入 。 - zain.ali
哦,你可以試試 WINKEY + CTRL +左箭頭 要么 WINKEY + CTRL +右箭頭 - zain.ali
這不是關於在桌面之間導航,而是關於將窗口從一個桌面移動到另一個桌面。是的,Ctrl + Win +左/右很酷:) - Borek Bernard
在我兄弟正在進行的項目中,他將其實現為WINKEY-X,WINKEY-V。工作超順暢。如果只有微軟趕上...... youtube.com/watch?v=BAc7sBvViFg - Wouter
什麼時候期望在Windows中構建熱鍵呢? - principal-ideal-domain


答案:


我認為對於更快的切換,這應該在標題欄中,所以我為此創建了一個工具:

https://github.com/Eun/MoveToDesktop

enter image description here

您也可以使用移動窗口 贏得+ALT+剩下/ 或根據需要更改快捷方式。


89
2017-09-19 02:08



下載 MoveToDesktop-X.Y.zip 來自發布部分。有一個 .exe 文件,將其解壓縮並運行它。不需要Visual Studio 2015.您可能只需要安裝Visual C ++ Redistributable軟件包。 - Eun
這個工具不起作用。 - K Robinson
想知道什麼時候Windows會添加拖放到虛擬桌面屏幕 - 那就是 驚人 - Mikey
@Ninjakannon對不起,我應該更具體一點。我的意思是將一個窗口從任何桌面拖到另一個桌面 - 無需先切換到該桌面,即從縮略圖窗口切換到該桌面。還有能夠拖動虛擬桌面,重新排列順序。 - Mikey
@Ninjakannon不,我相信Mikey正在談論能夠將窗口的兩側拖動到下一個桌面而不改變視圖。就像在幾乎所有Linux桌面和Ubuntu Unity上一樣。通常還有一個快速設置,允許用戶仍然捕捉到側面,但如果使用更多的力或動量,那麼用戶將能夠將窗口拖過邊框進入下一個虛擬桌面而不是捕捉。 - mchid


我也在尋找那個選項,從我所做的搜索(我認為我也在微軟論壇上看到它)開始,它不是內置的內置功能。

我現在出來的最好方法是避免使用鼠標:

  • 維琪 + 標籤 用於桌面屏幕
  • 右鍵單擊要移動的窗口。
    使用右鍵單擊鍵盤按鈕,或 轉移 + 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!

如果有人想繼續調查,這將作為一個開始。


53
2017-08-04 13:17



按下Win + Tab後,您只需將窗口拖動到所需的桌面即可。 - Nearoo
@Nearoo哪種方式失去了快速做到這一點 - 主要是沒有鼠標。 - arieljannai
@arieljannai Nah,拖動它很可能比右鍵單擊,打開子菜單和單擊桌面更快。不過,Linux上的快捷方式最好。 - Stefan Fabian


在這個管理Windows的級別我真的認為你應該使用第三方程序來幫助。我自己的解決方案是添加一個簡單的快捷方式 AutoHotkey的 (AHK):

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

#|是快捷方式,轉換為WIN- | 在我的鍵盤上有意義,因為|在TAB之上,但您可以將其更改為適合您需要的任何內容。

使用上面的答案 arieljannai,發送 <F10> - M - <ENTER>,如果你在兩個之間玩雜耍,標記的窗口將被移動到另一個虛擬桌面。

有關AHK的介紹,請參閱 https://autohotkey.com/docs/Tutorial.htm 。


10
2017-08-04 06:13



F10 在我的電腦上什麼都不做該 上下文菜單 我的(法語)鍵盤的鍵完成了這項工作。 - Sébastien
win+Tab, context, V, Enter  瑞士德語設置 - lucidbrot


我用 Windows 10虛擬桌面增強器

只是 下載 它,運行它(並配置 自動開啟 如果你需要)。

然後你可以簡單地按 贏得 + 按Ctrl + 轉移 + 向左箭頭 / 向右箭頭 它會將您的應用程序移動到其他桌面並切換到該桌面。


8
2017-12-28 11:38



該腳本對我不起作用,但是exe版本確實如此。好的解決方案 - lucidbrot


zVirtualDesktop

我正在為此目的使用它。它有鍵盤快捷鍵 - 這很棒。
如果您報告問題或提出問題或可能的功能,開發人員會非常敏感。

最好的功能是 DesktopView 見下文。

GitHub還有更多選項,我目前還記不清了

以下是zVirtualDesktop的一些屏幕截圖 

您可以從這些系統托盤圖標中進行選擇 enter image description here

它有一個非常好的功能叫做 DesktopView 如下所示。使用此視圖,您可以將窗口拖放到任何桌面。它也像Alt + Tab一樣工作,您可以單擊縮略圖轉到該窗口。 enter image description here

注意:  我在1.5 - 2年前回答了這個問題,並提出了一些開始研究的提示。但是現在,為此開發了一些解決方案。
我添加了一個新答案,因為編輯/改進我之前的答案是沒有意義的,因為它們完全不同。


6
2018-05-05 23:55



有許多程序要做,但OP詢問Windows中包含的虛擬桌面管理器。 - skan
我沒有用過這個,但是 VirtuaWin 值得一試,因為它(1) 可以自動將程序捕獲到自己的桌面,(2)有插件來提高生產力。 - Ooker
我檢查了zVirtualDesktop,它看起來不值得信賴。主機在Github上但是是封閉源(顯然源被刪除),顯然意外上傳到Github的舊版本(exe在歷史中)有不同的使用許可證(私人使用是永久免費的)但是自動更新到每個人都支付版本...也沒有提到網站上的價格,只有當你已經推出它 - sinni800


我不確定為什麼上面沒有提到這個,但以下是 本地人 這樣做的方式,沒有下載助手。

1. WIN + Tab快速查看所有應用程序/窗口  (如果您有多個監視器,則每個虛擬桌面的每個監視器上都會有一個列表)。

2.右鍵單擊要移動的應用程序/窗口 - >“移至”,然後選擇要將應用程序發送到的桌面。

在我發現這個之前,我甚至試過了 MoveToDesktop 上面發布的項目,但我覺得這很容易和 MoveToDesktop 菜單似乎並不出現在所有應用程序上(例如,目前還不是Chrome或Sublime)。


4
2018-06-07 05:44



太糟糕了,它仍然沒有熱鍵。雖然這也很好用。 - JP Hellemons
一旦你有桌面設置,你需要移動的罕見,不是嗎? - nights
我使用熱鍵一直將屏幕從監視器1移動到2。我一直在使用熱鍵在桌面之間移動,那麼為什麼不用熱鍵在虛擬桌面之間移動窗口呢?我的意思是win10中的本地熱鍵 - JP Hellemons
確實會很好。 - nights
真是太好了 很多年 在Ubuntu Linux中,您可以設置虛擬桌面,而無需將手從鍵盤上移開。在處理您正在處理的任何內容的過程中,您可以決定使用其熱鍵啟動應用程序,然後僅決定您將其放入新的或其他工作區,並使用另一個熱鍵將其發送到那裡。無需將手移到鼠標或觸控板上。它非常快速有效。我在Windows中非常想念它。事實上,這是我現在僅將Windows用於某些遊戲或Adobe產品的原因之一。 - cdaddr


我使用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

1
2017-12-20 13:58



請注意,這僅適用於主監視器上的應用程序(在多監視器設置中)。我需要在“發送#{tab}”之後添加“發送{左} {右​​}”,以確保在嘗試移動之前實際選擇了應用程序,或者這樣做沒有做任何事情。 - Dan


從Greenonline和Sebastien的解決方案中得到提示:

  1. 點擊工作區管理視圖的“Win + Tab”
  2. 導航到感興趣的窗口的方向鍵(如果這是最後一個關注的窗口,則不需要)。
  3. 點擊下拉菜單的“上下文”鍵,您可以在其中選擇移動到其他桌面。

所以,不是很簡單,但絕對可以讓你輕鬆實現自動化。


1
2017-09-21 09:52