133

В Windows 10 введено представление задач - возможность иметь несколько виртуальных рабочих столов. Когда я нахожусь в окне на Desktop1, каков самый быстрый способ переместить его на Desktop2?

В настоящее время мне нужно войти в переключатель задач (значок на панели задач или Win+Tab), найти окно и перетащить его между рабочими столами. Это неудобно. Есть ли более быстрый способ?

11 ответов11

95

Я думаю, для более быстрого переключения это должно быть в заголовке, поэтому я создал инструмент для этого:

https://github.com/Eun/MoveToDesktop

Вы также можете перемещать окна с помощью WIN+ALT+Влево/Вправо или изменить ярлык по мере необходимости.

57

Я также искал эту опцию, и из поисков, которые я сделал (я думаю, что я также видел это на форумах 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!

Если кто-то хочет продолжать расследование, это послужит началом.

11

Я использую Windows 10 Virtual Desktop Enhancer.

Просто скачайте , запустите (и настройте автозапуск, если вам нужно).

Затем вы можете просто нажать Win + Ctrl + Shift + Стрелка влево / Стрелка вправо, и приложение переместится на другой рабочий стол и переключится на этот рабочий стол.

10

На этом уровне управления Windows я действительно думаю, что вы должны использовать стороннюю программу, чтобы помочь. Мое собственное решение было добавить простой ярлык для AutoHotKey (AHK):

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

# | это ярлык, который переводит в WIN- | На моей клавиатуре это имеет смысл, так как | выше TAB, но вы можете изменить его так, как вам удобно.

Используя приведенный выше ответ от arieljannai, отправив <F10> - M - <ENTER> , отмеченное окно будет перемещено на другой виртуальный рабочий стол, если вы переключаетесь между двумя.

Для ознакомления с AHK см. Https://autohotkey.com/docs/Tutorial.htm .

6

zVirtualDesktop

Я использую это для этой цели. У него есть сочетания клавиш - и это здорово.
Разработчик очень отзывчив, если вы сообщаете о проблеме или задаете вопрос или о возможной функции.

Лучшая функция - DesktopView См. Ниже.

На GitHub есть еще варианты, которые я сейчас не могу вспомнить

Вот несколько скриншотов zVirtualDesktop

Вы можете выбрать из этих значков в системном трее

У этого есть действительно хорошая функция под названием DesktopView показанная ниже. С этим видом вы можете перетащить ваши окна на любой рабочий стол. Он также работает как Alt+Tab в том смысле, что вы можете щелкнуть миниатюру, чтобы перейти в это окно.

Примечание: я ответил на этот вопрос около 1,5-2 лет назад, с некоторыми подсказками, чтобы начать что-то разрабатывать.Но сейчас для этого есть несколько решений.
Я добавил новый ответ, так как нет смысла редактировать / улучшать мой предыдущий, так как они совершенно разные.

4

Я не уверен, почему это не было упомянуто выше, но вот родной способ сделать это, не загружая помощников.

1. WIN + Tab для быстрого просмотра всех приложений / окон (если у вас несколько мониторов, на каждом мониторе будет один список для каждого виртуального рабочего стола).

2. Щелкните правой кнопкой мыши приложение / окно, по которому вы хотите перейти -> "Переместить в" и выберите рабочий стол, на который вы хотите отправить приложение.

Прежде чем я нашел это, я даже попробовал опубликованный выше проект MoveToDesktop, но я нахожу это таким же простым, и меню MoveToDesktop , похоже, не появляется во всех приложениях (например, не Chrome или Sublime в данный момент).

2

Я использую 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
2

Принимая подсказки от решений Greenonline и Sebastien:

  1. Нажмите «Win +Tab» для представления управления рабочей областью
  2. Клавиши со стрелками для перехода к интересующему окну (если оно было последним в фокусе, в этом нет необходимости).
  3. Нажмите клавишу «Контекст» для выпадающего меню, где вы можете выбрать переход на другие рабочие столы.

Итак, не очень просто, но определенно то, что вы можете легко автоматизировать своими руками.

0

Решение 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
-4

Просто нажмите Winkey + Tab, теперь выберите программу (окно) и перетащите ее в список рабочих столов, показанный ниже (Рабочий стол 1 или 2). Готово. Другого пути нет..

-5

Win + Shift + Стрелка влево / Стрелка вправо

или же

Win + Стрелка влево / Стрелка вправо

или же

Win + Arrow Up / Arrow Down

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .