メニュー登録の仕組みを見ていく
前ページの表のキーについてコンテキストメニュー項目を追加する方法は2つあり、1つは「Shell」キー以下に項目を登録する方法、もう1つは「ShellEx\ContextMenuHandlers」キーに登録する方法だ。前者は、Windows初期からの方法で、単純に実行ファイルやコマンドを登録することができる。後者は、COMコンポーネントをコンテキストメニューの項目に登録する方法だ。なお、「Shell」キー側にコンテキストメニュー用のCOMコンポーネントを登録することも可能だ。
Shellキー以下にメニュー項目を登録するには、メニュー項目用のキー(キー名は任意。以下メニュー項目キーと呼ぶ)を作り、その下に「Command」キーを作る。あとは「メニュー項目キー」の既定値にメニューに表示される文字列を登録し、Commandキーの既定値に実行させたいコマンド文字列や実行ファイル名パスを記述する。
Commandキーにコマンドや実行ファイル名パスを記述する場合、対象となったファイルやフォルダなどへのパスは、「%1」で参照が可能になる。たとえば、フォルダを対象としてフォルダ内のファイルの一覧をクリップボードに登録するには、
cmd.exe /c dir "%1" | clipboard
というコマンド をCommandキーの既定値として登録する。コマンドラインについて詳しくない読者のために解説すると、最初の「cmd.exe /c」は、以後のコマンドを実行するコマンドインタプリタ(cmd.exe。コマンドプロンプトウィンドウの実体となるプログラム)で、「dir」は、ファイルの一覧を表示するコマンドだ。
「"%1"」は、メニューの実行時に、対象となるフォルダに置き換えられ、これがdirコマンドに続くことで、該当のフォルダのファイルの一覧を出力するというコマンドになる。「| clipboard」は、dirコマンドの実行結果をクリップボードに設定するコマンドだ。
実際の手順を詳しく解説する
ここからは、具体的なやり方を解説する。ただし、レジストリエディタを操作するため、不慣れな人は実際に試す必要はない。
まずは、レジストリエディタで「HKEY_CLASSES_ROOT\Folder\Shell」にメニュー項目用のキー「ASCIITest01」を作成する。キーの名前は、メニュー表示とは無関係で、同じ場所にすでにあるものと重複しなければ何でもいい。前述のようにコンテキストメニュー用に登録するキーの名前は、同一のキーが別の場所に対して使われたときに意味がある。
キーを作成したら、右側の領域で「(既定)」を編集して、コンテキストメニューに表示する文字列を入力する。ここでは「右クリックメニュのサンプル(Folder)」としておく。
次に作成した「ASCII-Test01」キーの下にさらに「Command」キーを作成し、同様に「(既定)」を編集状態にする。ここには、実行されるコマンドとして以下のものを入力する。
cmd /c echo Folder=%1 && pause
これは、テスト用にウィンドウを開いて、受け取ったパラメーターを表示し、任意のキーでウィンドウを閉じるという動作をするコマンドだ。
設定が終わったら、エクスプローラーを開いて、フォルダの上で右クリックしてメニューに登録した項目が表示されるかどうかを確認してみよう(冒頭画面)。なお、コンソールウィンドウが一瞬開いてすでに閉じてしまうような場合、Commandキーに登録したコマンドに何かエラーがある。登録がうまくいけば、下の画面のようなコンソールウィンドウが表示されるはずだ。
この連載の記事
-
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? -
第418回
PC
Windows 11のスマートフォン連携は新機能が追加されるなど、いまだ進化している -
第417回
PC
Windows 11のスマートフォン連携機能をあらためて使ってみる - この連載の一覧へ