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

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

Linux では、ショートカットを使用して 4 つのワークスペースを切り替えます: win+ 1/2/3/4

Windows 10 または Windows 11 でもこのような機能が欲しいです。

アップデートソリューション

  1. (Windows 11ではこの手順は不要 - Windows 10ユーザーのみ)この手順でWindowsのバージョンを最新バージョンに更新してください。 アップデータ. 必要になる場合もありますVisual Studio 2015 用 Visual C++ 再頒布可能パッケージ
  2. ダウンロードして解凍してくださいWindows 10 仮想デスクトップ エンハンサー(0.9.1) は私の環境では動作します。
  3. ファイルsettings.iniの内容を次のように変更します。
[KeyboardShortcuts]
Switch=LWin
Move=LAlt, Shift, Ctrl
MoveAndSwitch=LAlt, Shift
Previous=Left
Next=Right
PlusTen=
  1. (Windows 11ユーザーのみ)仮想デスクトップアクセス.dllファイルからhttps://github.com/skottmckay/VirtualDesktopAccessor/tree/master/x64/リリース

  2. 走る仮想デスクトップエンハンサー.exeとして管理者

  3. ショートカットを使用するwin+ 1/2/3/n(ここで(作成した仮想デスクトップの数)を使用して仮想デスクトップを直接切り替え、 win+`~で「公開」効果を実現します。

答え1

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

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

答え2

まさにあなたが探していたものを構築できたと思います。私は Linux でウィンドウ マネージャーを使用しており、Windows でも同様の方法でホットキーを使用したいと考えていました。

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

私のスクリプトでは CapsLock を使用しています。これは私にとって便利なためですが、簡単に設定して自分のニーズに合うようにすることができます。バグが 1 つか 2 つあるかもしれませんが、全体的にはかなり安定していると思います。お役に立てれば幸いです。

答え3

私はスクリプトを作成しましたオートホットキーWindows 10 で最大 10 台のデスクトップに対してこれを実現します。

動作させる方法:

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

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

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

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

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

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

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

重要:

これを機能させるには、デスクトップを開く、閉じる、および変更するためのホットキーのみを使用する必要があります。これは、スクリプトがこれらのホットキーをリッスンして、現在のデスクトップ数と合計数を認識するためです。

マウスで WIN+TAB メニューを使用してデスクトップを作成、閉じる、または変更すると、スクリプトは動作しなくなります。 スクリプトを再度動作させるには、最初の 2 行を編集して、デスクトップの現在の状態を反映させる必要があります。 (desktopcount/currentdesktop)

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

また、新しいデスクトップを作成する前に、Windows の起動後にスクリプトが読み込まれるまで待ってください。そうしないと、機能しません。起動プログラムの数によっては、少し時間がかかる場合があります。

わかりました。スクリプトをデスクトップの状態と再同期しやすくするために、もう 1 つ追加しました。スクリプトが想定しているデスクトップの状態を表示するホットキーができたので、マウスでデスクトップをスクリプトに合わせて調整するだけで、すべてが再び同期されます。スイスのキーボードでは、'? キーを 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}
}

答え4

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

関連情報