WindowsのHotkeyを探すWindows PowerShellのプログラムです。Win32APIであるRegisterHotkeyを使って、登録できないホットキーの組み合わせを探します。残念ながら、このプログラムでは、キーの組合せがホットキーとして使えるかどうかしか判定できません。ホットキーを登録しているプログラムを調べることはできません。しかし、ホットキーを登録するとき、空いているキーの組合せを知ることは可能です。
なお、このプログラムで判定可能なのは、Windowsのグローバルホットキーのみで、アプリケーションが定義するキーボードショートカットは含まれません。たとえば、ウィンドウの一覧を表示するAlt+Tab
はホットキーですが、クリップボードの貼り付けを行なうCtrl+C
は、アプリケーションやコントロールのキーボードショートカットです。
Windowsが定義するホットキーとキーボードショートカットについては、Windows のキーボード ショートカットで見ることができます。
"searchhotkeys.ps1"を実行してください。 出力はCSV形式でテキストとして標準出力に出ます。最初の欄は、Windowsの仮想キーコードを示します。仮想キーコードに関しては、仮想キーコードを参照してください。
2つめの欄は、Windows.Forms.KeysConverterを使ったKeyNameです。
3つめ以降は、修飾キーとキーの組合せがホットキーとして登録されているかどうかを示します。“X”になっている組合せはホットキーとして登録されています。
Windows PowerShellで実行するとKeyNameは英語になりますが、PowerShellで実行した場合、日本語版Windowsでは一部日本語が混ざります。 これは.NETのWindows.Fromsの問題で、PowerShellからは解決できません。.NETのアップデートを待つしかありません。
参考
ファイルに保存するならリダイレトやOut-File
を使ってください。
例
.\searchHotKey.ps1 | Out-File -Encoding utf8 c:\temp\W11ver22H2Hotkey.csv
参考のため、searchhotkeys.ps1が出力したCSVファイル(W11ver22H2Hotkey.csv)と、それを読み込んで加工したExcelのブックファイル(Hotkey.xlsx)もアップロードしてあります。