57

В Linux я использую ярлык для переключения между 4 рабочими пространствами: win+1/2/3/4.

Я хотел бы иметь что-то подобное в Windows 10.

ОБНОВЛЕНИЕ РЕШЕНИЯ 2017, ОКНА 10x64

  1. Обновите версию Windows до последней версии с помощью этого средства обновления. Вам также может понадобиться распространяемый Visual C++ для Visual Studio 2015
  2. Скачайте и распакуйте этот Windows 10 Virtual Desktop Enhancer (0.9.1), который работает для меня.
  3. Измените содержимое файла settings.ini на
[KeyboardShortcuts]
Switch=LWin
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
PlusTen=
  1. Запустите Virtual-Desktop-Enger.exe от имени администратора.

8 ответов8

41

Вам нужно следующее:

  • Окно привязки: WIN+LEFT или RIGHT (может использоваться с UP или DOWN для входа в квадранты)
  • Переключиться в недавнее окно: Alt+Tab (без изменений) - удержание показывает новый вид окна просмотра задач, отпустить и переключиться в приложение.
  • Представление задач: WIN+Tab - Новое представление задач открывается и остается открытым.
  • Создайте новый виртуальный рабочий стол: WIN+Ctrl+d
  • Закрыть текущий виртуальный рабочий стол: WIN+Ctrl+F4
  • Переключить виртуальный рабочий стол: WIN+Ctrl+LEFT или RIGHT
14

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

https://github.com/pmb6tz/windows-desktop-switcher

Мой сценарий использует CapsLock, потому что это более удобно для меня, но вы можете легко настроить его на работу для вас. Там, наверное, одна или две ошибки, но в целом я нашел, что это довольно солидно. Надеюсь, что это помогает вам!

11

Я только что сделал скрипт для autohotkey, который выполняет это в Windows 10 для 10 рабочих столов.

Как заставить это работать:

Скачайте и установите autohotkey. Скопируйте приведенный ниже код в блокнот и сохраните его с расширением .ahk

Я предлагаю сделать ярлык этого файла в папке автозагрузки, чтобы он запускался при запуске Windows.

Горячие клавиши по умолчанию:

Переключить рабочий стол: WIN+DESKTOP NUMBER (0 = рабочий стол № 10)

Новый рабочий стол: CTRL+WIN+D

Закрыть рабочий стол: CTRL+WIN+F4

Состояние рабочего стола дисплея: WIN+'

ВАЖНЫЙ:

Для того чтобы он работал, вы должны использовать ТОЛЬКО горячие клавиши для открытия, закрытия и смены рабочих столов, поскольку скрипт прослушивает эти горячие клавиши, чтобы узнать текущее и общее количество рабочих столов.

Если вы создадите, закроете или измените рабочие столы с помощью меню WIN+TAB с помощью мыши, скрипт перестанет работать. Чтобы он снова заработал, вам нужно отредактировать первые две строки, чтобы отразить текущее состояние ваших рабочих столов. (Desktopcount /currentdesktop)

Это не означает, что вы не можете использовать экран WIN+TAB в качестве обзора ваших текущих рабочих столов. Вы можете фактически использовать это в комбинации горячих клавиш, чтобы организовать ваши рабочие столы. Да, горячие клавиши по-прежнему работают, когда программа просмотра задач Windows открыта! (WIN+TAB) Просто НЕ используйте мышь !!!

Кроме того, дождитесь загрузки скрипта после запуска Windows, прежде чем создавать новые рабочие столы, иначе он не будет работать. Это может занять некоторое время в зависимости от того, сколько у вас программ запуска.

Хорошо, я добавил еще одну вещь, чтобы упростить повторную синхронизацию сценария с состоянием вашего рабочего стола. Теперь есть горячая клавиша, которая отображает состояние, в котором, по мнению сценария, находятся рабочие столы, поэтому все, что вам нужно сделать, это настроить рабочие столы с помощью мыши, чтобы они соответствовали сценарию, и все будет синхронизировано снова! Для меня со швейцарской клавиатурой это хорошо получилось с '? ключ рядом с 0, и это имеет смысл с? на нем, но на других клавиатурах вы можете изменить это, что можно легко сделать, изменив строку сразу после горячей клавиши на 0/10 (начиная с # ') на любую, какую вам больше нравится.

На самом деле, я только что понял .... если количество рабочих столов правильное, то создание нового рабочего стола будет автоматически синхронизировать значение текущего рабочего стола.

(Строки, начинающиеся с; являются комментариями и не влияют на сценарий)

Код:

#NoTrayIcon
;If the script stops working:
;Change the following values to reflect your current desktop state and reload the script.
;Remember to change them back to 1 after reloading the script if you have it set to start with Windows

desktopcount := 1
currentdesktop := 1

;You can change the hotkeys for creating, closing, and switching desktops bellow.
;The current hotkeys are CTRL+WIN+D for new desktop, CTRL+WIN+F4 to close desktop
;and WIN+NUMBER for switching desktops.
;For example, to change the hotkey for new desktop replace ^#D bellow with the desired hotkey.
;Refer to the autohotkey documentation for a full list of symbols refering to modifier keys,
;as you can see ^ is CTRL and # is WIN key.
;If you wanted to change the switch desktop from WIN key to CTRL for example you would have
;to replace the # before each number to a ^

^#D::NewDesktop()
^#F4::CloseDesktop()
#1::SwitchDesktop(1)
#2::SwitchDesktop(2)
#3::SwitchDesktop(3)
#4::SwitchDesktop(4)
#5::SwitchDesktop(5)
#6::SwitchDesktop(6)
#7::SwitchDesktop(7)
#8::SwitchDesktop(8)
#9::SwitchDesktop(9)
#0::SwitchDesktop(10)
#'::MsgBox Desktop Count = %desktopcount%`nCurrent Desktop = %currentdesktop%

;Do not change anything after this line, unless you know what you are doing ;)
;-----------------------------------------------------------------------------------------------
SwitchDesktop(desktop)
{

    global desktopcount
    global currentdesktop
    desktopdiff := desktop - currentdesktop
    if (desktop > desktopcount)
    {
        return
    }
    if (desktopdiff < 0)
    {
        desktopdiff *= -1
        Loop %desktopdiff%
        {
        Send ^#{Left}
        }   
    }
    else if (desktopdiff > 0)
    {
        Loop %desktopdiff%
        {
        Send ^#{Right}
        }
    }
    currentdesktop := desktop
}

NewDesktop()
{
    global desktopcount
    global currentdesktop
    if (desktopcount > 9)
    {
        return
    }
    desktopcount ++
    currentdesktop := desktopcount
    Send ^#d
}

CloseDesktop()
{
    global desktopcount
    global currentdesktop
    desktopcount --
    if (currentdesktop != 1)
    {
        currentdesktop --
    }
    Send ^#{f4}
}
1

Например, я хочу установить Page Down для следующего рабочего стола и Page Up для предыдущего рабочего стола. После того, как я установил AutoHotkey, я создаю новый скрипт AutoHotKey и добавляю в него эти коды и сохраняю его, затем запускаю скрипт

PgDn::^#Right ;Next Desktop
return 

PgUp::^#Left ;Previous Desktop
return 

и это будет хорошо работать :)

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

PgDn::
   {
      MouseGetPos,,,win
      WinGetClass, class, ahk_id %win%
      If class in Progman,WorkerW
         send {Click}^#{Right}  
      else
         send ^#{Right}  ; Next  Desktop  
      return
    }

PgUp::
    {
       MouseGetPos,,,win
       WinGetClass, class, ahk_id %win%
       If class in Progman,WorkerW
          send {Click}^#{Left}
       else
          send ^#{Left}  ; Previous Desktop  
       return
    }
0

Хорошо, частичное решение ... потому что я не знаю, как перейти прямо к выбранному виртуальному рабочему столу:

Эта программа autohotkey со скриптом:

#NoTrayIcon
#2::^#Right
#1::^#Left
#3::Return
#4::Return
-1

Я сделал обновление на месте непосредственно с Windows 7 до 10 и изо всех сил пытался использовать клавиши Windows+CTRL+Arrow для переключения между рабочими столами, поскольку они просто не будут работать. Однако в моем случае решение было простым - используйте одну функциональную клавишу (F1, F2, F3 и т.д.), Чтобы легко переключаться между виртуальными рабочими столами. Теперь я не знаю, относится ли это к моему ноутбуку HP или к части выпущенной версии, но это одновременно элегантно и просто. Я предполагаю, что пока у вас не назначены функциональные клавиши для какой-то другой цели, это должно работать и для вас.

-1

Я использую Desktops v2.0 от SysInternals, и у меня есть 4 рабочих стола под одной клавишей: F1, F2, F3, F4 (кто-нибудь использует F1 для вызова справки, правда?). Для меня решение Windows 10 непригодно из-за сочетания клавиш.

Рабочие столы v2.0 официально:https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx

-2

Скрипт AHK, предоставленный OptimistPrime: https://superuser.com/a/1050690/184229 , не работает для меня (ключи не действуют), но

этот работает просто отлично: https://github.com/pmb6tz/windows-desktop-switcher/blob/master/desktop_switcher.ahk

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