7

プログラムからファイル拡張子を登録できるようにしたいです。(ファイルタイプを私のプログラムに関連付けます)

これに関する記事はたくさんありますが、ここで説明した手法 (レジストリをいじる) は、私が知る限り、Windows XP にしか適していません。

XP、Vista、および Windows 7 でも動作するように、ファイルタイプをプログラムに関連付ける最良の方法は何ですか? (動作するコード例はありますか?)

ClickOnce はオプションですが、実行時にファイルタイプを登録できるようにしたいのですが、これはインストール時にのみファイルタイプを登録します。

4

3 に答える 3

7

Windows Vista (およびおそらく Windows 7) では、ファイルの関連付けが変更されました。ファイルが既にプログラムに関連付けられている場合、そのファイルを再度関連付けると、ファイルをダブルクリックしても新しいプログラムで開かれません。代わりに、関連付けが「open with」の下のリストに追加されます。また、Vista でアプリケーションをアソシエーションに登録する方法についてのちょっとした議論も参照してください(Web アーカイブ、元のリンクはなくなりました)。

これを変更して良いかどうかはわかりません。ただし、この投稿では、レジストリで使用できるさまざまなキーについて説明します。さらに良いことに、この codeproject の記事では、実行時にファイルを関連付けるためのコードを使用する準備ができています。ただし、Vista+ で動作が異なるかどうかはわかりません。

于 2009-11-27T10:10:03.827 に答える
1

管理者以外のシナリオでファイルの関連付けを追加する必要がある場合は、この記事で説明されているユーザー固有のファイルの関連付けを使用できます。「ユーザー固有のファイルの関連付け」を確認してください。

于 2009-12-31T08:32:50.127 に答える
0

ファイルの関連付けに関する限り、XP から Vista/7 への変更は 2、3 しかないため、XP のほとんどの例は引き続き機能するはずです。XP には存在せず、他のファイル関連付け登録を上書きする、Vista/7 の「既定のプログラム」設定だけを考慮する必要があります。

于 2009-11-27T19:00:05.783 に答える