Jak zmienić klawisz skrótu do przełączania między wirtualnymi pulpitami w Windows 10?


64

W systemie Linux używam skrótu do przełączania między 4 obszarami roboczymi: win+ 1/2/3/4.

Chciałbym mieć coś takiego w Windows 10.

AKTUALIZACJA ROZWIĄZANIA 2017, WINDOWS 10x64

  1. Zaktualizuj wersję systemu Windows do najnowszej za pomocą tego narzędzia do aktualizacji . Może być także potrzebny Visual C ++ Redistributable for Visual Studio 2015
  2. Pobierz i rozpakuj ten Windows Virtual Virtual Enhancer (0.9.1) działa dla mnie.
  3. Zmień zawartość pliku settings.ini na
[KeyboardShortcuts]
Switch=LWin
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
PlusTen=
  1. Uruchom virtual-desktop-enhancer.exe jako administrator .

2
To ważne pytanie. W systemie Windows 10 możesz przełączać się między widokami pulpitu wirtualnego. Jest to bardzo podobne do tego, w jaki sposób Mac OSX i Linux pozwalały na przełączanie się w przeszłości.
Geruta

Może jest wiersz polecenia lub PowerShell, który może przełączyć się na konkretny pulpit? (Jeśli tak, to powinno być łatwe wykonanie skryptu wsadowego lub coś takiego, a następnie po prostu użyć auto-klucza, aby przekierować wygraną + 1/2/3/4 do wspomnianego skryptu wsadowego) w przeciwnym razie, gdy program zostanie przełączony na fokus, Windows 10 przełączy się na pulpicie, na którym program jest włączony. Oznacza to, że jeśli istnieje sposób, aby otworzyć program na określonym pulpicie, może być możliwe wykonanie tego, co opisałem powyżej, przy użyciu pewnych sztuczek opartych na tej funkcji.
Cestarian

Należy pamiętać, że domyślnie w systemie Windows 10 WIN + 1/2/3/4...otwiera się, przełącza lub minimalizuje okno w odpowiedniej ponumerowanej pozycji na pasku zadań. Na przykład, jeśli mam przypięty Chrome do paska zadań w pozycji 1 i jest on obecnie zamknięty, WIN + 1otworzę go. Ponowne naciśnięcie zminimalizuje je, a ponowne naciśnięcie przywróci okno. Mogę to połączyć z innymi skrótami; teraz naciśnięcie WIN + SHIFT + 1otworzy na przykład nowe okno Chrome.
Ninjakannon

Aktualizacja: wersja (0.9.1) działa bez problemu na wer. 1903 od maja 2019
Dariusz Filipiak

Odpowiedzi:


41

Potrzebne są następujące:

  • Okno przyciągania: WIN +LEFTlubRIGHT (można używać zUPlub,DOWNaby dostać się do kwadrantów)
  • Przełącz do ostatniego okna: Alt +Tab(bez zmian) - Przytrzymaj pokazuje nowy widok okna widoku zadań, puść i przełącza się na aplikację.
  • Widok zadań: WIN +Tab- Otwiera się nowy widok zadań i pozostaje otwarty.
  • Utwórz nowy wirtualny pulpit: WIN +Ctrl+d
  • Zamknij bieżący pulpit wirtualny: WIN +Ctrl+F4
  • Przełącz wirtualny pulpit: WIN +Ctrl+LEFTlubRIGHT

Różnica polega na tym, że najpierw musisz utworzyć drugi pulpit za pomocą (WIN + CTRL + D), a następnie przejść do niego za pomocą (WIN + CTRL + PRAWY)
Geruta

17
Wciąż brakuje sposobu na przejście do konkretnego pulpitu za pomocą jednego skrótu (tj. Bezpośrednio z pulpitu 1 na pulpit 3)
Cestarian

Niestety, WIN CTRL RIGHT nie działa na Samsung Ativ 9+. LEWY działa, ale nie ma zawijania między np. 3 wirtualnymi pulpitami. Ktoś z lepszym doświadczeniem?
carl

3
Głosujący za brak odpowiedzi na pytanie: pyta, jak go zmienić, a konkretnie, aby móc przełączyć się na numer na pulpicie.
Luc

16

Myślę, że właśnie zbudowałem dokładnie to, czego szukasz. Korzystam z menedżera okien w systemie Linux i chciałem używać klawiszy skrótu w podobny sposób w systemie Windows.

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

Mój skrypt używa CapsLock, ponieważ jest dla mnie wygodniejszy, ale możesz łatwo skonfigurować go tak, aby działał dla Ciebie. Prawdopodobnie jest tam jeden lub dwa błędy, ale ogólnie uważam, że jest całkiem niezły. Mam nadzieję, że to ci pomoże!


Ten skrypt po prostu działa idealnie po tym, jak skomentowałem ostatni akapit kodu. Dziękuję za udostępnienie. Złożyłem żądanie ściągnięcia ze zmianami, które wprowadziłem w kodzie.
David

12

Właśnie stworzyłem skrypt dla autohotkey, który osiąga to w Windows 10 dla maksymalnie 10 komputerów stacjonarnych.

Jak to działa:

Pobierz i zainstaluj autohotkey . Skopiuj i wklej poniższy kod do notatnika i zapisz go z rozszerzeniem .ahk

Sugeruję utworzenie skrótu tego pliku w folderze startowym, aby działał on podczas uruchamiania systemu Windows.

DOMYŚLNE KLAWISZE:

Przełącz pulpit: WIN + NUMER DESKTOPU (0 = numer pulpitu 10)

Nowy pulpit: CTRL + WIN + D

Zamknij pulpit: CTRL + WIN + F4

Wyświetl stan pulpitu: WIN + ”

WAŻNY:

Aby to działało, należy używać TYLKO klawiszy skrótów do otwierania, zamykania i zmieniania pulpitów, ponieważ skrypt nasłuchuje tych skrótów klawiszowych, aby poznać bieżącą i całkowitą liczbę pulpitów.

Jeśli utworzysz, zamkniesz lub zmienisz pulpit za pomocą menu WIN + TAB za pomocą myszy, skrypt przestanie działać. Aby ponownie uruchomić, musisz edytować pierwsze dwa wiersze, aby odzwierciedlić aktualny stan twoich komputerów. (desktopcount / currentdesktop)

Nie oznacza to, że nie możesz używać ekranu WIN + TAB jako przeglądu swoich obecnych komputerów. Możesz go używać w połączeniu ze skrótami klawiszowymi do organizowania komputerów stacjonarnych. Tak, skróty klawiszowe nadal działają, gdy przeglądarka zadań Windows jest otwarta! (WIN + TAB) Po prostu NIE używaj myszy !!!

Ponadto zaczekaj, aż skrypt załaduje się po uruchomieniu systemu Windows, zanim utworzysz nowy pulpit, inaczej nie będzie działać. Może to chwilę potrwać, w zależności od liczby posiadanych programów startowych.

Ok, dodałem jeszcze jedną rzecz, aby ułatwić synchronizację skryptu ze stanem pulpitu. Teraz jest klawisz skrótu, który wyświetli stan, w którym skrypt wierzy, że są w komputerach stacjonarnych, więc wystarczy dopasować komputery za pomocą myszy, aby pasowały do ​​skryptu, i wszystko zostanie ponownie zsynchronizowane! Dla mnie ze szwajcarską klawiaturą udało się dobrze mieć „? klawisz obok 0 i to ma sens z? na nim, ale na innych klawiaturach możesz to zmienić, co można łatwo zrobić, zmieniając linię zaraz po skrócie dla 0/10 (zaczynając od # ') na cokolwiek zechcesz.

Właściwie właśnie zdałem sobie sprawę ... tak długo, jak długo liczba pulpitów jest poprawna, utworzenie nowego pulpitu automatycznie zsynchronizuje wartość bieżącego pulpitu.

(Linie zaczynające się od; są komentarzami i nie wpływają na skrypt)

Kod:

#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}
}

Możesz także dodać #NoTrayIcon na początku skryptu, jeśli nie podoba ci się mała zielona ikona w zasobniku systemowym.
OptimistPrime,

1
Och ... Droptic już stworzył lepszy skrypt, który pobiera z rejestru aktywne i łączne komputery stacjonarne. Dobry pomysł!
OptimistPrime

1
Należy jednak pamiętać, że ścieżka rejestru może być różna dla poszczególnych użytkowników / komputerów. Nie wiem, co na to wpływa, ale moja ścieżka do bieżącego identyfikatora pulpitu znajdowała się w folderze z numerem 2, a nie 1: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\2\VirtualDesktops
OptimistPrime

Wspaniały człowiek!! Dzięki za udostępnienie. Po prostu zmieniam # 1 na ^ 1 Lubię używać Ctrl zamiast klawisza Win.
Gueorgui Obregon

Ten skrypt jest NIESAMOWITY! Jedyne, co mam ze sobą, to to, że mam już remapowanie Capslocka i chciałbym to dodać do mojego skryptu. Niestety to nie działa. Działa to tylko wtedy, gdy usunę następujący wiersz (przed skryptem): CapsLock :: Ctrl Wszelkie pomysły, jak to naprawić? Usunięcie tej linii działa, ale posiadanie CAPSLOCK jako Ctrl jest dla mnie bardzo nieistotne ...
strumień bitów

1

Na przykład chcę ustawić Page Down dla następnego pulpitu i Page Up dla poprzedniego pulpitu Po zainstalowaniu AutoHotkey tworzę nowy skrypt AutoHotKey, dodam do niego ten kod i zapisuję go, a następnie uruchamiam skrypt

PgDn::^#Right ;Next Desktop
return 

PgUp::^#Left ;Previous Desktop
return 

i będzie dobrze działać :)

Aktualizacja: czasami powyższy kod nie działa i musisz kliknąć punkt. Następnie zmieniłem go na:

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

Ok, częściowe rozwiązanie ... ponieważ nie wiem jak przejść bezpośrednio do wybranego wirtualnego pulpitu:

Ten program auto-klucz ze skryptem:

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

1
Jest to przydatne, jeśli masz tylko dwa wirtualne komputery stacjonarne, ale ja mam trzy.
Michael Beijer

-1

Zrobiłem uaktualnienie w miejscu bezpośrednio z Windows 7 do 10 i zmagałem się z użyciem Windows + CTRL + klawisze strzałek, aby przełączać się między komputerami stacjonarnymi, ponieważ po prostu nie działałyby. Jednak rozwiązanie w moim przypadku było proste - użyj pojedynczych klawiszy funkcyjnych (F1, F2, F3 itp.), Aby łatwo przełączać się między pulpitami wirtualnymi. Teraz nie wiem, czy dotyczy to mojego laptopa HP, czy też części wydanej wersji, ale jest zarówno elegancki, jak i prosty. Zakładam, że dopóki nie masz mapowanych klawiszy funkcyjnych w innym celu, to również powinno działać dla ciebie.


1
F1 to pomoc na każdym komputerze z systemem Windows, z którego kiedykolwiek korzystałem. Twoja odpowiedź nie ma sensu.
DavidPostill

To zdecydowanie nie jest moje doświadczenie na moim laptopie Dell Precision (z Win 10). Win + Ctrl + F1 / F2 / F3 nic nie rób. Chociaż byłoby świetnie, gdyby tak zrobili.
Michael Beijer

-1

Używam Desktops v2.0 z SysInternals i mam 4 komputery pod jednym kluczem: F1, F2, F3, F4 (czy ktoś używa F1 do wywołania pomocy, naprawdę?). Dla mnie rozwiązanie Windows 10 jest bezużyteczne z powodu trzech skrótów klawiszowych.

Komputery stacjonarne v2.0: https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx


Ten produkt nie obsługuje systemu Windows 8 i nowszych. Skąd mam to wiedzieć, bo pamiętam w przeszłości pytanie dotyczące wspomnianego programu w systemie Windows 8
Ramhound

1
Działa to jednak doskonale pod Windows 8.1 i 10.
dblacha

-2

Skrypt AHK podany przez OptimistPrime: https://superuser.com/a/1050690/184229 nie działa dla mnie (klucze nie działają), ale

ten działa dobrze: https://github.com/pmb6tz/windows-desktop-switcher/blob/master/desktop_switcher.ahk


Podaj zasadnicze części odpowiedzi z linków referencyjnych, ponieważ odpowiedź może stać się nieważna, jeśli połączona strona (strony) ulegną zmianie.
DavidPostill

Wolałbym skomentować odpowiedź, o której wspomniałem, ale nie pozwolono mi. Gdybyście przyjrzeli się bliżej mojej odpowiedzi, zauważylibyście, że: 1. daje odpowiedź na pierwotne pytanie 2. byłoby bardzo gadatliwe i niezbyt odpowiednie do skopiowania treści drugiego linku, który podałem.
dvo
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.