ファイルを開かずに中のデータをクリップボードにコピーする機能を右クリックメニューに追加する方法です。
データをクリップボードにコピーのメニューを付ける
-
レジストリ キーを追加します。
HKCU\Software\Classes\SystemFileAssociations\text\shell\clip\command
-
clipキーに、以下の値を追加します。
MUIVerb(文字列値)を作成して値のデータを、データをクリップボードにコピー
Position(文字列値)を作成して値のデータを、データをBottom
Icon(文字列値)を作成して値のデータを、データをimageres.dll,-148これらの値は、お好みで決めることができます。
-
command キーの(既定) のデータを、cmd.exe /c clip < "%1"にします。
[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\text\shell\clip]
"MUIVerb"="データをクリップボードにコピー"
"Position"="Bottom"
"Icon"="imageres.dll,-148"
[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\text\shell\clip\command]
@="cmd.exe /c clip < \"%1\""
"PerceivedType"="text"(.txt .ini .js などテキスト文書全般)に関連付けましたが、優先度が低いのでインストールされたアプリケーションによってはメニューがでない場合があります。
環境によってまちまちになってしまいますので、次は基礎的な関連付けの方法を説明します。
他の拡張子にも対応させる
拡張子の .html は、既定のブラウザを変更しているとメニューがでません。
.html にもメニューを表示するには次の手順を実行します。
HKEY_CLASSES_ROOT\.html の既定の値をみます。
例えば Firefox を既定のブラウザにしていると、既定の値が FirefoxHTML に変更されているので、その名前のキーにとびます。
HKEY_CLASSES_ROOT\FirefoxHTML
ここに先程のシェルメニューを追加すれば .html と .htm にもメニューが表示されます。
なぜ .htm に もでるのかというと、.htm の既定の値も FirefoxHTML になっているからです。[HKEY_CLASSES_ROOT\FirefoxHTML\shell\clip]
"MUIVerb"="データをクリップボードにコピー"
"Position"="Bottom"
"Icon"="imageres.dll,-148"
[HKEY_CLASSES_ROOT\FirefoxHTML\shell\clip\command]
@="cmd.exe /c clip < \"%1\""
わかりやすいように、HKEY_CLASSES_ROOTに書き込む例にしましたが、実際には、HKCU\Software\Classes以下の同項目に追加した方が良いかもしれません。
HKEY_CLASSES_ROOTはHKCU\Software\ClassesとHKLM\SOFTWARE\Classesのエイリアスです。
ひとつひとつ設定しきれない場合、すべてのファイルに関連付けてしまう選択もあります。
HKEY_CLASSES_ROOT\*\shell
すべてのファイルにメニューがでます。対応していないものの内容はコピーできないだけで実行しても特に不具合はありません。