Как быстро переместить текущее окно в другой вид задач / рабочий стол в Windows 10?
В Windows 10 введено представление задач - возможность иметь несколько виртуальных рабочих столов. Когда я нахожусь в окне на Desktop1, каков самый быстрый способ переместить его на Desktop2?
В настоящее время мне нужно войти в переключатель задач (значок на панели задач или Win+Tab), найти окно и перетащить его между рабочими столами. Это неудобно. Есть ли более быстрый способ?
16 ответов
Я думаю, для более быстрого переключения это должно быть в заголовке, поэтому я создал инструмент для этого:
https://github.com/Eun/MoveToDesktop
Вы также можете перемещать окна с помощью WIN + ALT + Влево / Вправо или изменить ярлык по мере необходимости.
Я также искал эту опцию, и из поисков, которые я сделал (я думаю, что я также видел это на форумах Microsoft), это не то, что доступно встроенным в данный момент.
Лучший способ, которым я на данный момент выступил, чтобы избежать использования мыши, это:
- Winkey + вкладка для экрана рабочего стола
- Щелкните правой кнопкой мыши на окне, которое вы хотите переместить.
Используйте правую кнопку клавиатуры или 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).
Идентификатор текущего рабочего стола находится здесь:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\VirtualDesktops\CurrentVirtualDesktop
Недостаточно заменить его на другой ключ виртуального рабочего стола, потому что требуется некоторое обновление пользовательского интерфейса.
Я проверил с procmon, и DLL, которые используются в этом процессе:
- Msctf.dll
- twinui.dll
- windows.immersiveshell.serviceprovider.dll
- shell32.dll
- UIAnimation.dll
Я предполагаю, что один из них отвечает за визуальное обновление, а основным подозреваемым является UIAnimation.dll!
Если кто-то хочет продолжать расследование, это послужит началом.
Еще один скрипт 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 с отключенной анимацией.
Я использую Windows 10 Virtual Desktop Enhancer.
Просто скачайте, запустите (и настройте автозапуск, если вам нужно).
Затем вы можете просто нажать Win + Ctrl + Shift + Стрелка влево / Стрелка вправо, и приложение переместится на другой рабочий стол и переключится на этот рабочий стол.
На этом уровне управления Windows я действительно думаю, что вы должны использовать стороннюю программу, чтобы помочь. Моим собственным решением было добавить простой ярлык для AutoHotKey (AHK):
#|::Send, +{F10}M{Enter}
# | это ярлык, который переводит в WIN-| На моей клавиатуре это имеет смысл, так как | выше TAB, но вы можете изменить его так, как вам удобно.
Используя приведенный выше ответ от arieljannai, отправив SHIFT+F10
M
ENTER
отмеченное окно будет перемещено на другой виртуальный рабочий стол, если вы переключаетесь между двумя.
Для ознакомления с AHK см. https://autohotkey.com/docs/Tutorial.htm.
Я не уверен, почему это не было упомянуто выше, но вот родной способ сделать это, не загружая помощников.
1. WIN + Tab для быстрого просмотра всех приложений / окон (если у вас несколько мониторов, на каждом мониторе будет один список для каждого виртуального рабочего стола).
2. Щелкните правой кнопкой мыши по приложению / окну, над которым вы хотите перейти -> "Переместить в" и выберите рабочий стол, на который вы хотите отправить приложение.
Прежде чем я нашел это, я даже попробовал опубликованный выше проект MoveToDesktop, но я нахожу это таким же легким, и меню MoveToDesktop, похоже, не появляется во всех приложениях (например, не Chrome или Sublime в данный момент).
Я использую это для этой цели. У него есть сочетания клавиш - и это здорово.
Разработчик очень отзывчив, если вы сообщаете о проблеме или задаете вопрос или о возможной функции.
Лучшая особенность DesktopView
Увидеть ниже.
На GitHub есть еще варианты, которые я сейчас не могу вспомнить
Вот несколько скриншотов zVirtualDesktop
Вы можете выбрать из этих значков в системном трее
Это действительно хорошая функция под названием DesktopView
показано ниже. С этим видом вы можете перетащить ваши окна на любой рабочий стол. Он также работает как Alt+Tab в том смысле, что вы можете щелкнуть миниатюру, чтобы перейти в это окно.
Примечание: я ответил на этот вопрос около 1,5-2 лет назад, с некоторыми подсказками, чтобы начать что-то разрабатывать. Но сейчас для этого есть несколько решений.
Я добавил новый ответ, поскольку нет смысла редактировать / улучшать мой предыдущий ответ, поскольку они совершенно разные.
Принимая подсказки от решений Greenonline и Sebastien:
- Нажмите "Win+Tab" для представления управления рабочей областью
- Клавиши со стрелками для перехода к интересующему окну (если оно было последним в фокусе, в этом не должно быть необходимости).
- Нажмите клавишу "Контекст" для выпадающего меню, где вы можете выбрать переход на другие рабочие столы.
Итак, не очень просто, но определенно то, что вы можете легко автоматизировать своими руками.
Я использую 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
Начиная с Windows 10 Версии 1803, простой способ переместить текущее / целевое окно с одного рабочего стола на другой следующим образом:
- Нажмите Win + Tab, чтобы увидеть график.
- Под разделом Рабочие столы вы увидите окно списка активных запущенных программ под текущим рабочим столом. Нажмите и удерживайте окно и перетащите на нужный рабочий стол.
- Вуаля!
Кроме того, он является родным и не требует никакого стороннего программного обеспечения.
Учитывая, что MoveToDesktop Ына больше не поддерживается и больше не работает, альтернативой, которую я нашел для AutoHotKey, является VD.ahk . Он работает на текущих версиях Windows 10 и 11.
Загрузите файлы AHK (на момент написания этой статьи ветка по умолчанию показывает файлы для AHK 1.x; поддержку AHK 2 можно найти в альтернативной ветке ) и добавьте в свой скрипт ahk:
#Include VD.ahk
#!Left::VD.MoveWindowToRelativeDesktopNum("A", -1)
#!Right::VD.MoveWindowToRelativeDesktopNum("A", 1)
Это связано с Win+Alt+Left/Right.
Это некрасиво, но не использует мышь или какое-либо стороннее программное обеспечение.
Win+ Tab, Shift+ F10, Arrow Down, Arrow Down, Enter, Arrow Down, Enter,Esc
Для меняShift + F10
не работает.
Но этот ключ делает свое дело:
Таким образом, я могу перемещать окна по рабочему столу только с помощью клавиатуры, перемещающейся по контекстному меню в режиме предварительного просмотра рабочего стола.
Решение AutoHotkey. Привязано к Win+ тильда ключ. Этот скрипт автоматизирует все нажатия клавиш, которые вы выполняете вручную, чтобы отправить его на следующий (если вы находитесь на первом) или на предыдущий рабочий стол. Будьте осторожны с такими вещами - это может быть опасно, если этот ввод идет в неправильный пункт назначения.
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
Просто нажмите Winkey + Tab, теперь выберите программу (окно) и перетащите ее в список рабочих столов, показанный ниже (Рабочий стол 1 или 2). Готово. Другого пути нет..
Win + Shift + Стрелка влево / Стрелка вправо
или же
Win + Стрелка влево / Стрелка вправо
или же
Win + Arrow Up / Arrow Down