こんにちは、阿久津です。前回の最後に紹介したように、今回は、アプリケーションがコンテキストメニューに作成した項目を削除するチューニングにチャレンジしてみましょう。しかし文字数の制限がある本稿で、星の数ほどあるアプリケーションを対象にすることはできません。そこで、いくつかの例を用いながら、コンテキストメニューの項目が登場するパターンを紹介します。

様々なウイルス対策ソフトでは、ファイルやフォルダを対象にウイルス検査を行なうため、コンテキストメニューに項目を追加するシェルエクステンションが自動的に組み込まれます。例えば無償使用可能なウイルス対策ソフト「Avira AntiVir Personal - FREE Antivirus」では、<Scan Selected files with AntiVir>という項目がファイルやフォルダに追加されます(図1)。

図1: Avira AntiVir Personalでは、ファイルやフォルダのコンテキストメニューに、<Scan Selected files with AntiVir>というウイルス検査を行なう項目が追加されます

まずはこの項目を削除してみましょう。クイック検索やファイル名を指定して実行などから「regedit」を実行してレジストリエディタを起動し、HKEY_CLASSES_ROOT \ * \ shellex \ ContextMenuHandlersまでキーをたどって開きます。「Shell Extension for Malware scanning」キーを選択した状態で<ファイル>メニューから<エクスポート>を選択してください。ダイアログが表示されたら任意のファイル名を付けて<保存>ボタンをクリックします。これでレジストリキーのバックアップが完了しました。今度は先ほどのキーを右クリックし、メニューから<削除>を選択してください。確認をうながすダイアログが表示されたら<はい>ボタンをクリックします(図2~5)。

図2: 「ファイル名を指定して実行」や「クイック検索」のテキストボックスに「regedit」と入力して[Enter]キーを押します

図3: HKEY_CLASSES_ROOT \ * \ shellex \ ContextMenuHandlersまでキーをたどって開き、「Shell Extension for Malware scanning」キーを選択した状態で、<ファイル>メニューから<エクスポート>を選択します

図4: ダイアログが表示されたら、任意のファイル名を入力して、<保存>ボタンをクリックします。これでキーをファイルにバックアップしました

図5: 「Shell Extension for Malware scanning」キーを右クリックし、メニューから<削除>を選択。確認をうながすダイアログが表示されたら<はい>ボタンをクリックします

同様の手順で、HKEY_CLASSES_ROOT \ Folder \ shellex \ ContextMenuHandlersキーにある「Shell Extension for Malware scanning」キーを、あらかじめバックアップしてから右クリックしてください。メニューから<削除>→<はい>ボタンと選択してキーを削除しましょう。最後に[F5]キーを押して変更内容をシステムに反映させてから、レジストリエディタを終了してください。これで設定完了です(図6)。

図6: 同様の手順で、HKEY_CLASSES_ROOT \ Folder \ shellex \ ContextMenuHandlersキーにある「Shell Extension for Malware scanning」キーのバックアップを取ってから削除します。最後に[F5]キーを押して変更内容をシステムに反映させてから、レジストリエディタを終了させます

チューニング後は、ファイルやフォルダのコンテキストメニューから<Scan Selected files with AntiVir>が削除されます。つまり同アプリケーションのシェルエクステンションは、HKEY_CLASSES_ROOT \ * \ shellex \ ContextMenuHandlersキーと、HKEY_CLASSES_ROOT \ Folder \ shellex \ ContextMenuHandlersキーに、\ Shell Extension for Malware scanningキーを作成して、コンテキストメニューの項目を実現していることになります(図7)。

図7: チューニング後は、ファイルやフォルダのコンテキストメニューから、<Scan Selected files with AntiVir>が削除されます

一方、もうひとつの無償使用可能なウイルス対策ソフトとして、「AVG Anti-Virus Free Edition」もチェックしてみましょう。こちらも同じようにHKEY_CLASSES_ROOT \ * \ shellex \ ContextMenuHandlersキーと、HKEY_CLASSES_ROOT \ Folder \ shellex \ ContextMenuHandlersキーにAVG8 Shell Extensionキーを作成し、コンテキストメニューの項目を実現しています(図8~9)。

図8: すべてのオブジェクトを対象とする「*」キーとフォルダを対象にする「Folder」キーのContextMenuHandlersに、独自のキーを生成しています

図9: その結果、ファイルやフォルダのコンテキストメニューには<AVG Freeでスキャン>という項目が追加されます

これらは先と同じ手順で削除できますが、ユニークなのがMS-DOSプログラムのショートカットファイルである拡張子「.pif」にも独自エントリしている点。もっとも、Windows VistaでMS-DOSアプリケーションを使用する場面は限られ、64ビット版Vistaでは基本的に使用不可能です。このケースは、単純にエントリーを削除しておきましょう。このように思わぬ所にエントリーが加わっていることが多いですので、[Ctrl]+[F]キーで起動する検索機能の活用をお薦めします(図10~11)。

図10: [Ctrl]+[F]キーで起動する検索ダイアログを活用しましょう。コンテキストメニューの多くはキー単位ですので、検索対象にある<値><データ>のチェックは外します

図11: 検索を行ないますと、HKEY_CLASSES_ROOT \ piffile \ shellex \ ContextMenuHandlersキーにある「AVG8 Shell Extension」キーを発見できました。こちらも削除します

このようにアプリケーションが生成するコンテキストメニューの項目は、オブジェクトを対象に判断するとわかりやすくなります。全般的なファイルであれば、「HKEY_CLASSES_ROOT \ * \ shellex \ ContextMenuHandlers」キー。フォルダやドライブであれば「HKEY_CLASSES_ROOT \ Folder \ shellex \ ContextMenuHandlers」キーや「HKEY_CLASSES_ROOT \ Drive \ shellex \ ContextMenuHandlers」キー。JPEGファイルなど画像ファイルであれば、拡張子名を持つ「HKEY_CLASSES_ROOT \ .jpg」キーの既定値で指定されたProgIDとなる「HKEY_CLASSES_ROOT \ jpegfile \ shellex \ ContextMenuHandlers」キーも対象に加えましょう。このほかにも「HKEY_CLASSES_ROOT \ AllFilesystemObjects \ shellex \ ContextMenuHandlers」キーにエントリーを加えるアプリケーションもありますので、前述した手順で検索を行ない、削除対象となる項目を探してください。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)