49
Windowsでホットキーの競合を解決する方法:どのプログラムがどのショートカットを使用しているかを確認する
キーを登録できません
(画像提供:Tom's Hardware)

キーボードの組み合わせを押すだけで操作を実行できれば、時間を大幅に節約できます。Windowsの優れた点の一つは、ユーザーがキーボードショートカットを簡単に作成できることです。OSに既に多くのショートカットが組み込まれており、サードパーティ製のプログラムも独自のショートカットを追加しています。しかし、複数のアプリケーションが同じホットキーを割り当てようとすると、競合が発生することがあります。場合によっては、プログラムが目的のホットキーを登録できないというメッセージを表示することもあります。

例えば、先日、無料の画面録画アプリケーションであるShareX(Windowsで画面を録画する方法を参照)をインストールしたところ、「Print Screen」キーのホットキーを登録できないというエラーが発生しました。WindowsではPrint Screenキーのデフォルトの動作(画面をクリップボードにコピーする)が設定されていますが、アプリによってこの動作が上書きされる可能性があります。ShareXは、別のアプリケーションが既にその動作を実行していたため、キーの所有権を取得できませんでした。 

多くの場合、あるアプリケーションがホットキーを登録している場合、そのキーを押すとそのアプリケーションが起動するので、すぐに分かります。しかし、何も起こらない場合もあり、どのプログラムがそのホットキーを使用しているのかすぐには分かりません(アプリをアンインストールしたり設定を変更したりして使用を停止したい場合は、そのホットキーを使用しているプログラムを知る必要があります)。 

1. Visual Studio 2022 Community (無料プログラム)をまだインストールしていない場合はインストールしてください。セットアップ中に「C++によるデスクトップ開発」にチェックが入っていることを確認してください。

インストールするVisual Studioコンポーネント

(画像提供:Tom's Hardware)

2. Visual Studioに付属のツールであるSpy++を起動します。Visual Studioのツールメニューから起動することもできます。または、C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\フォルダに直接移動し、spyxx_amd64.exeをダブルクリックすることもできます。

Spy++を起動する

(画像提供:Tom's Hardware)

3. Spy メニューから[ログ メッセージ] を選択します。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

ログメッセージを選択

(画像提供:Tom's Hardware)

4.   「Windows」タブの「システム」にある「すべてのウィンドウ」をチェックします。

システム内のすべてのウィンドウ

(画像提供:Tom's Hardware)

5. 「メッセージ」タブでキーボードとホットキーをチェックし、 「OK」をクリックします

キーボードとホットキー

(画像提供:Tom's Hardware)

空白のウィンドウが表示されます。

空白のウィンドウ

(画像提供:Tom's Hardware)

6.別のウィンドウまたはデスクトップにフォーカスがある状態で、ホットキー を押します。一部のホットキーはSpy++ウィンドウ内からは機能しない場合があります。Spy++のログウィンドウに1つ以上のエントリが表示される必要があります。

このサンプルケースでは、Print Screen キーを押して、それが何に割り当てられているかを確認します。

7.メッセージウィンドウで適切なエントリを右クリックし、 「プロパティ」を選択します。複数のエントリがある場合は、名前に「WM_HOTKEY」が含まれるエントリを試してください。 

プロパティを選択

(画像提供:Tom's Hardware)

8. Windows ハンドル ID をクリックします

ウィンドウハンドルIDをクリック

(画像提供:Tom's Hardware)

9.プロセス ID をクリックします

プロセスIDをクリック

(画像提供:Tom's Hardware)

以下に示すように、ホットキーを使用したアプリケーションの名前がモジュール名フィールドに表示されます。

モジュール名IDを確認する

(画像提供:Tom's Hardware)

このプロセスでホットキーを使用したアプリケーション名ではなく、ホットキーを押した際に使用していたアプリケーション名が表示された場合は、メッセージウィンドウで他のログエントリを探し、それらのプロパティを選択してください。また、Spy++を一度閉じて再度開き、もう一度試してみて、デスクトップまたは他のアプリにフォーカスがある状態でホットキーを押したことを確認してください(可能であればデスクトップが最適です)。

私の経験では、Spy++ は多くのホットキーを認識しましたが、Windows の組み込みホットキーの登録に関しては一貫性がありませんでした(例えば、Windows + E を押してエクスプローラーを起動する操作が、登録される場合とされない場合がありました)。また、AutoHotKey を使って作成したホットキーも記録されませんでした。

Avram Piltchは特別プロジェクト担当の編集長です。仕事で最新ガジェットをいじったり、展示会でVRヘルメットを装着したりしていない時は、スマートフォンのルート化、PCの分解、プラグインのコーディングなどに取り組んでいます。技術的な知識とテストへの情熱を活かし、Avramはノートパソコンのバッテリーテストをはじめ、数多くの実環境ベンチマークを開発しました。