web-dev-qa-db-ja.com

Windows 10で仮想デスクトップを切り替えるためのショートカットキーを変更するにはどうすればいいですか?

Linuxでは、4つのワークスペースを切り替えるためのショートカットを使います。 win+1/2/3/4

私はWindows 10でこのようなものが欲しいのですが。

UPDATE SOLUTION 2017、Windows 10 x 64

  1. これを通してあなたのwindowsのバージョンを最新のものに更新してください pdater 。また必要かもしれません Visual Studio 2015用のVisual C++再配布可能
  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-enhancer.exe管理者として実行します。
61

必要なものは次のとおりです。

  • スナップウィンドウ: WIN+LEFT または RIGHT (と使用できます UP または DOWN 象限に入る)
  • 最近のウィンドウに切り替えます: Alt+Tab (変更なし) - 保留は新しいタスクビューウィンドウビューを表示し、移動してアプリに切り替えます。
  • タスクビュー: WIN+Tab - 新しいタスクビューが開き、開いたままになります。
  • 新しい仮想デスクトップを作成します。 WIN+Ctrl+d
  • 現在の仮想デスクトップを閉じます( WIN+Ctrl+F4
  • 仮想デスクトップの切り替え: WIN+Ctrl+LEFT または RIGHT
41
Geruta

私はちょうどあなたが探しているものを正確に構築したと思います。私はLinuxではウィンドウマネージャを使い、Windowsでも同じようにホットキーを使いたかった。

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

私のスクリプトではCapsLockを使用していますが、私にとっては便利ですが、自分のために機能するように簡単に設定できます。おそらくそこにバグが1つか2つありますが、一般的に私はそれがかなりしっかりしていることがわかりました。これがあなたを助けてくれることを願っています!

15
droptic

私はちょうど autohotkey 用のスクリプトを作成しました。これは、最大10個のデスクトップ用にWindows 10でこれを実現します。

それを動かす方法:

autohotkey をダウンロードしてインストールします。以下のコードをコピーしてメモ帳に貼り付け、ファイル拡張子.ahkを付けて保存します。

Windowsの起動時に実行されるように、スタートアップフォルダにこのファイルのショートカットを作成することをお勧めします。

デフォルトのホットキー:

デスクトップの切り替え:WIN + DESKTOP NUMBER(0 =デスクトップ番号10)

新しいデスクトップ:CTRL + WIN + D

デスクトップを閉じる:CTRL + WIN + F4

デスクトップの状態を表示する:WIN +

重要:

それが機能するためには、スクリプトはデスクトップの現在および合計数を知るためにこれらのホットキーをリッスンするため、デスクトップの開閉、変更にはホットキーのみを使用する必要があります。

マウスでWIN + TABメニューを使ってデスクトップを作成、終了、変更すると、スクリプトは機能しなくなります。再び機能させるには、デスクトップの現在の状態を反映するように最初の2行を編集する必要があります。 (デスクトップカウント/現在のデスクトップ)

これは、現在のデスクトップの概要としてWIN + TAB画面を使用できないという意味ではありません。あなたは実際にあなたのデスクトップを整理するためにホットキーの組み合わせでそれを使うことができます。はい、Windowsタスクビューアを開いてもホットキーは機能します。 (WIN + TAB)マウスを使わないでください。

また、新しいデスクトップを作成する前に、Windowsの起動後にスクリプトがロードされるのを待つか、スクリプトが機能しなくなります。起動プログラムの数によっては、これに少し時間がかかることがあります。

わかりました、スクリプトとデスクトップの状態を簡単に再同期できるように、もう1つ追加しました。スクリプトがデスクトップがあると信じている状態を表示するホットキーがあるので、あなたがしなければならないのはスクリプトに合うようにマウスであなたのデスクトップを調整することだけであり、それはすべて再び同期されるでしょう!私のためにスイスのキーボードを使ってそれは '? 0の隣にあるキーとそれは?で意味があります。ただし、他のキーボードでは、これを変更することをお勧めします。これは、0/10のホットキーの直後(# 'で始まる行)を好きなように変更することで簡単に行えます。

実際、私はちょうど気付きました…新しいデスクトップを作成するよりもDesktop Countが正しい限り、自動的にCurrent Desktopの値が再同期されます。

(;で始まる行はコメントであり、スクリプトには影響しません)

コード:

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

たとえば、次のデスクトップに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
    }
1

わかりました、部分的な解決策...選択した仮想デスクトップに直接アクセスする方法がわかりません。

このプログラム オートショット とスクリプト:

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