すべてのファイルのコンテキストメニューにプログラムを追加するにはどうすればよいですか?


17

Notepad ++がすべてのファイルのコンテキストメニューに「Notepad ++で編集」を追加する方法、またはほとんどのウイルス対策製品がグローバルな「このファイルをスキャン」オプションを追加する方法と同様に、特定のプログラムをすべてのファイルのコンテキストメニューに追加したいタイプ。

DOSBoxのおかげで、私は手動でファイルの関連付けを作成し、特定のファイルタイプのコンテキストメニューオプションを作成することに少し慣れています。

http://www.dosbox.com/wiki/Associating_the_Configuration_File_in_Windows

ただし、ほぼすべての拡張子を持つファイルで使用できるため、グローバルにコンテキストメニューとして追加したいプログラムが1つあります。このためにどのレジストリキーを変更する必要がありますか?また、ここで物事を壊さないために避けるべき一般的な落とし穴は何ですか?

サードパーティ製のツールを使用するのではなく、システムにどのような変更を加えているのかをよく理解できるように、手動でこれを行います。私がこれをやっているOSはWindows 7 x64ですが、XPまでさかのぼって同じ方法を使用できれば素晴らしいと思います。私はおそらく自分で必要なコマンド構文を理解することができます-どのキーに従うべきか、そしてそれらのキーで正しく認識されるようにコマンドとラベルをフォーマットする方法を知る必要があります。

回答:


18

実行可能ファイルを使用してこれを行う方法は次のとおりです。どのプログラムでも実行できると想定しています。

スタートメニューの検索または実行ボックスを使用してregedit.exeを開き、次のキーを参照します。

HKEY_CLASSES_ROOT \ * \ shell

「shell」を右クリックし、「Open with(your program name)」という新しいキーを作成することを選択します。「コマンド」と呼ばれるキーの下に新しいキーを作成します。右側のペインの(デフォルト)値をダブルクリックして、次のように入力します。

"プログラムが存在するC:\ Folderパス\ Program.exe" "%1"

変更はすぐに有効になります...任意のファイルを右クリックすると、次のメニューエントリが表示されます。


スクリーンショット:

レジストリエディター:キーの作成

レジストリエディター:完成したファイルコマンド

情報源(種類)

。[注:記事コメントレポートの作成者の方法はVistaで機能します。また、XP。-エド。]


これに関するHTGの記事を見て驚かないのはなぜですか?指摘してくれてありがとう。私の質問の他の部分-構文またはこれを破ることができる他のことに関して、避けるべき一般的な落とし穴はどうですか?
イジィ

あなたは私がそれに答えるのに十分賢いと思います、ありがとう。それは非常にシンプルで海峡の前方登録ハックであり、私は問題を予見しません。
モアブ

プログラムの実行可能ファイルをsystem32フォルダーに保存する必要があるかどうかは、他の誰かが知っているかもしれません。%1ではなく、インストールされているプログラムexeへのファイルパスを反映するようにデフォルトデータを変更する必要がある場合があります。C:\ Program Files \ My Program \ program.exe、他の誰かがここでチャイムする必要があります。
モアブ

フルパスを指定している限り、どこでも好きな場所に置くことができると仮定しています(うまくいかない場合はお知らせします)。ボーナスポイント(およびこれを質問に追加します):アクションに独自のアイコンを付けるにはどうすればよいですか?
イッツィ

1
実際、ユーザーがアクセスできる限り、パスは重要ではありません。
iglvzx

3

この小さなフリーウェアプログラムで試すこともできます。

http://defaultprogramseditor.com/

.jsファイルの混乱をすべて整理しました。その前に、デフォルトのハンドラープログラムを追加するいくつかの異なる方法を試しました。強くお勧めします。

ソフトウェアの開発者/発行者には何もありません。ただ幸せな新しいユーザー。

編集:ああ、既に推奨されていることがわかりました:なぜWindows 7で拡張機能を開くために既定のプログラムを変更できないのですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.