Як змінити клавішу швидкого доступу для перемикання між віртуальними робочими стільницями у Windows 10?


63

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

Я хотів би мати щось подібне в Windows 10.

ОНОВЛЕННЕ РІШЕННЯ 2017, ВІКНИ 10х64

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

2
Це справедливе питання. У Windows 10 вам дозволяється перемикатися між віртуальними видами робочого столу. Це дуже схоже на те, як Mac OSX та Linux дозволили вам перемикатися в минулому.
Герута

Можливо, є командний рядок або команда powershell, яка може переключитися на певний робочий стіл? (Якщо так, то створити пакетний скрипт чи щось, а потім просто використати автоматичну клавішу для переадресації win + 1/2/3/4 на вказаний пакетний сценарій) інакше, коли програма перемкнеться на фокус, Windows 10 перемкнеться на робочий стіл, на якому включена програма. Отже, це означає, що якщо є спосіб відкрити програму на певному робочому столі, можливо, можна зробити те, що я описав вище, за допомогою певної хитрості на основі цієї функції.
Cestarian

Зауважте, що за замовчуванням у Windows 10 WIN + 1/2/3/4...відкривається, перемикається на або мінімізується вікно у відповідному нумерованому положенні на панелі завдань. Наприклад, якщо я зафіксував Chrome на панелі завдань у позиції 1 і він наразі закритий, WIN + 1відкрию його. Повторне натискання зменшить його, а натискання ще поверне вікно назад. Я можу поєднувати це з іншими ярликами; тепер натискання WIN + SHIFT + 1відкриє нове вікно Chrome, наприклад.
Ninjakannon

Оновлення: версія (0.9.1) працює без проблем на ver. 1903 з травня 2019
Даріуш Філіпіак

Відповіді:


42

Вам потрібно:

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

Тож різниця тут полягає в тому, що спочатку потрібно створити 2-й робочий стіл за допомогою (WIN + CTRL + D), а потім перейти на нього за допомогою (WIN + CTRL + RIGHT)
Герута

17
Ще не вистачає способу переключитися на певний робочий стіл одним ярликом (тобто прямо з робочого столу 1 на робочий стіл 3)
Cestarian

На жаль, WIN CTRL RIGHT не працює на Samsung Ativ 9+. LEFT працює, але немає обгортки, наприклад, між 3 віртуальними робочими стільницями. Хто має кращий досвід?
Карл

2
Запропоновано не відповідати на запитання: він запитує, як його змінити, зокрема, щоб мати можливість використовувати номер робочого столу для переходу.
Люк

15

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

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

У моєму сценарії використовується CapsLock, оскільки це зручніше для мене, але ви можете легко налаштувати його на роботу для вас. Напевно, там є помилка чи два, але загалом я вважаю, що це досить солідно. Сподіваюсь, це допоможе вам!


Цей сценарій просто чудово працює, коли я прокоментував останній абзац коду. Дякую, що поділились. Я зробив запит на тягу із змінами, внесеними до коду.
Девід

11

Я щойно створив сценарій для автоматичної клавіші, який виконує це в Windows 10 для до 10 робочих столів.

Як змусити його працювати:

Завантажте та встановіть автоматичну клавішу . Скопіюйте та вставте код нижче в блокнот та збережіть його з розширенням файлу .ahk

Я пропоную зробити ярлик цього файлу у своїй папці запуску, щоб він запускався при запуску Windows.

НЕЗАГАЛЬНІ ХОТЛЬКИ

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

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

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

Відображення стану робочого столу: WIN + '

ВАЖЛИВО:

Для того, щоб він працював, ви повинні ТИЛЬКО використовувати гарячі клавіші для відкриття, закриття та зміни робочого столу, оскільки сценарій слухає ці гарячі клавіші, щоб знати поточну та загальну кількість робочих столів.

Якщо ви створюєте, закриваєте або змінюєте настільні комп’ютери через меню WIN + TAB за допомогою миші, сценарій припинить роботу. Щоб знову працювати, вам потрібно буде відредагувати перші два рядки, щоб відобразити поточний стан ваших робочих столів. (настільний / поточний робочий стіл)

Це не означає, що ви не можете використовувати екран 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}
}

Також ви можете додати #NoTrayIcon на початку сценарію, якщо вам не подобається маленький зелений значок у системному треї.
OptimistPrime

1
Ох ... Я краплично вже створив кращий сценарій, який отримує активні та загальні настільні комп'ютери з реєстру. Гарна ідея!
OptimistPrime

1
Хоча, зауважте, що шлях до реєстру може бути різним для користувача / комп'ютера. Я не знаю, що впливає на це, але мій шлях до поточного ідентифікатора робочого столу знаходився в папці з номером 2, а не 1: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\2\VirtualDesktops
OptimistPrime

Дивовижний чоловік !! Дякую, що поділились. Я просто змінюю №1 на ^ 1 Мені подобається використовувати Ctrl замість клавіші Win.
Георгій Обрегон

Цей сценарій ДУЖЕ! Єдине, що зі мною - це те, що у мене вже є перезавантаження капсулів, і я хотів би додати це до свого сценарію. На жаль, це не працює. Він працює лише в тому випадку, якщо я видалю наступний рядок (перед сценарієм): CapsLock :: Ctrl Будь-які ідеї, як це можна виправити? Видалення цього рядка працює, але мати CAPSLOCK як Ctrl для мене дуже важливо ...
bitstream

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

Гаразд, часткове рішення ... тому що я не знаю, як перейти безпосередньо до вибраного віртуального робочого столу:

Ця програма автоматичної клавіші зі сценарієм:

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

1
Це добре, якщо у вас є лише два віртуальних робочих столу, а у мене три.
Майкл Бейєр

-1

Я здійснив оновлення inplace безпосередньо з Windows 7 до 10 і боровся з використанням клавіш Windows + CTRL + Стрілка для перемикання між настільними комп'ютерами, оскільки вони просто не працюватимуть. Однак у моєму випадку рішення було простим - використовуйте єдині функціональні клавіші (F1, F2, F3 тощо), щоб легко переходити між віртуальними робочими стільницями. Зараз я не знаю, чи це характерно для мого ноутбука HP або частини випущеної версії, але це і елегантно, і просто. Я припускаю, що у вас немає функціональних клавіш, відображених з якоюсь іншою метою, вона повинна працювати і для вас.


1
F1 - це допомога на кожній машині Windows, яку я коли-небудь використовував. Ви відповідати не має сенсу.
DavidPostill

Це точно не мій досвід роботи на моєму ноутбуці Dell Precision (з Win 10). Win + Ctrl + F1 / F2 / F3 нічого не роблять. Хоча було б чудово, якби вони.
Майкл Бейєр

-1

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

Офіційні комп’ютери v2.0: https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx


Цей продукт не підтримує Windows 8 і вище. Звідки я це знаю, бо я спеціально згадую, раніше запитання про зазначену програму в Windows 8
Ramhound

1
Однак він відмінно працює під Windows 8.1 та 10.
dblacha

-2

Сценарій AHK, наданий OptimistPrime: https://superuser.com/a/1050690/184229 для мене не працює (клавіші не мають ефекту), але

це працює чудово: https://github.com/pmb6tz/windows-desktop-switcher/blob/master/desktop_switcher.ahk


Будь ласка, цитуйте основні частини відповіді із посилальних посилань (ив), оскільки відповідь може стати недійсною, якщо змінена пов’язана сторінка.
DavidPostill

Я хотів би прокоментувати відповідь, на яку я посилався, але не був дозволений. Якби ви ближче подивились на мою відповідь, ви помітили б, що: 1. вона дає відповідь на початкове запитання 2. це було б дуже багатослівно і не дуже адекватно копіювати вміст другого посилання, яке я дав.
дво
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.