另一個 AHK 腳本

另一個 AHK 腳本

Windows 10 推出任務視圖- 擁有多個虛擬桌面的能力。當我位於桌面 1 上的視窗中時,將其移動到桌面 2 的最快方法是什麼?

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

答案1

我認為為了更快地切換,這應該位於標題列中,所以我為此創建了一個工具:

https://github.com/Eun/MoveToDesktop

在此輸入影像描述

您也可以使用WIN+ ALT+ Left/移動視窗Right或根據需要變更捷徑。

答案2

我也尋找過這個選項,從我所做的搜尋來看(我想我也在微軟論壇上看到過它),目前它還不是內建的。

我目前想出的避免使用滑鼠的最佳方法是:

  • 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 是:

  • dll文件
  • winui.dll
  • windows.immersiveshell.serviceprovider.dll
  • shell32.dll
  • UI動畫.dll

我猜測其中一個負責視覺刷新,主要嫌疑人是 UIAnimation.dll!

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

答案3

另一個 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

這可以使用 win+箭頭鍵向左或向右移動活動視窗。在 Win10 版本 10.0.17134.1365 上測試,動畫關閉。

答案4

在管理 Windows 的這個層級上,我確實認為您應該使用第三方程式來提供協助。我自己的解決方案是添加一個簡單的快捷方式自動熱鍵(香港協會):

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

#|是快捷方式,翻譯為Win+|

在我的鍵盤上,這是有道理的,如上所述|Tab但您可以將其更改為適合您需求的任何內容。

使用以上答案由 arieljannai 提供,透過傳送Shift+ F10MEnter,如果您在兩個虛擬桌面之間切換,則標記的視窗將會移到另一個虛擬桌面。

關於AHK的介紹,請參見https://autohotkey.com/docs/Tutorial.htm

相關內容