Skip to content

ShinjiShioda/SerchWindowsHotkey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SerchWindowsHotkey

WindowsのHotkeyを探すWindows PowerShellのプログラムです。Win32APIであるRegisterHotkeyを使って、登録できないホットキーの組み合わせを探します。残念ながら、このプログラムでは、キーの組合せがホットキーとして使えるかどうかしか判定できません。ホットキーを登録しているプログラムを調べることはできません。しかし、ホットキーを登録するとき、空いているキーの組合せを知ることは可能です。 なお、このプログラムで判定可能なのは、Windowsのグローバルホットキーのみで、アプリケーションが定義するキーボードショートカットは含まれません。たとえば、ウィンドウの一覧を表示するAlt+Tabはホットキーですが、クリップボードの貼り付けを行なうCtrl+Cは、アプリケーションやコントロールのキーボードショートカットです。 Windowsが定義するホットキーとキーボードショートカットについては、Windows のキーボード ショートカットで見ることができます。

Execution / 実行

"searchhotkeys.ps1"を実行してください。 出力はCSV形式でテキストとして標準出力に出ます。最初の欄は、Windowsの仮想キーコードを示します。仮想キーコードに関しては、仮想キーコードを参照してください。

2つめの欄は、Windows.Forms.KeysConverterを使ったKeyNameです。

3つめ以降は、修飾キーとキーの組合せがホットキーとして登録されているかどうかを示します。“X”になっている組合せはホットキーとして登録されています。

Windows PowerShellで実行するとKeyNameは英語になりますが、PowerShellで実行した場合、日本語版Windowsでは一部日本語が混ざります。 これは.NETのWindows.Fromsの問題で、PowerShellからは解決できません。.NETのアップデートを待つしかありません。

参考

Runtime crash due to localization and the way designer serializes keyboard shortcuts · Issue #2886 · dotnet/winforms

Don't translate Home, Backspace, End and Enter keys in KeysConverter for Japanese. · Issue #8440 · dotnet/winforms

Output / 出力

ファイルに保存するならリダイレトやOut-Fileを使ってください。

.\searchHotKey.ps1 | Out-File -Encoding utf8 c:\temp\W11ver22H2Hotkey.csv

参考ファイル

参考のため、searchhotkeys.ps1が出力したCSVファイル(W11ver22H2Hotkey.csv)と、それを読み込んで加工したExcelのブックファイル(Hotkey.xlsx)もアップロードしてあります。