C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: コンテキストメニューの編集


(過去ログ 60 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■34304 / inTopicNo.1)  コンテキストメニューの編集
  
□投稿者/ びぎなー (1回)-(2009/03/25(Wed) 16:27:33)

分類:[C#] 

当方、Word/Excelファイルを開く
Windowsアプリケーションを作成しているのですが、

1.まず、ファイルを右クリックして開くコンテキストメニューに、
「作成した実行ファイルで開く」項目を追加したい。

2.そして、そのコンテキストメニュー追加を
「Wordファイルにたいしてのみ」、「Excelファイルに対してのみ」
というふうにファイル種別ごとに個別に設定できるようにしたい。

レジストリを編集して実現することになると思うのですが、
いまいちC#でどのように実現できるのか分かりません。
上記の条件を満たすことは可能でしょうか。

よろしくお願い致します。
引用返信 編集キー/
■34325 / inTopicNo.2)  Re[1]: コンテキストメニューの編集
□投稿者/ Azulean (337回)-(2009/03/25(Wed) 23:38:09)
まず、拡張子ごとの単純なメニューについてはこちらをお読み下さい。
http://msdn.microsoft.com/en-us/library/cc144101.aspx

> 1.まず、ファイルを右クリックして開くコンテキストメニューに、
> 「作成した実行ファイルで開く」項目を追加したい。
拡張子の代わりにfileとかに作ると、全てのファイルが対象になったりします。(たしか)

> 2.そして、そのコンテキストメニュー追加を
> 「Wordファイルにたいしてのみ」、「Excelファイルに対してのみ」
> というふうにファイル種別ごとに個別に設定できるようにしたい。
拡張子で区別するだけで良いなら、その拡張子のところに書くと良いでしょう。

> レジストリを編集して実現することになると思うのですが、
> いまいちC#でどのように実現できるのか分かりません。
C#でレジストリを操作することでも実現できますが、インストーラで予め設定しておくという手も考えておくべきかな?
引用返信 編集キー/
■34339 / inTopicNo.3)  Re[2]: コンテキストメニューの編集
□投稿者/ びぎなー (2回)-(2009/03/26(Thu) 11:48:36)
丁寧な説明ありがとうございます。

> まず、拡張子ごとの単純なメニューについてはこちらをお読み下さい。
> http://msdn.microsoft.com/en-us/library/cc144101.aspx

早速見てみたのですが、
英語で書かれていて私には全く分かりません(汗

日本語で見れたりしますか??

よろしくお願い致します。
引用返信 編集キー/
■34342 / inTopicNo.4)  Re[3]: コンテキストメニューの編集
□投稿者/ 魔界の仮面弁士 (1021回)-(2009/03/26(Thu) 12:34:36)
No34339 (びぎなー さん) に返信
>>http://msdn.microsoft.com/en-us/library/cc144101.aspx
> 英語で書かれていて私には全く分かりません(汗
> 日本語で見れたりしますか??

http://www.microsofttranslator.com/BV.aspx?ref=Internal&a=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fcc144101.aspx
引用返信 編集キー/
■34345 / inTopicNo.5)  Re[4]: コンテキストメニューの編集
□投稿者/ aetos (124回)-(2009/03/26(Thu) 16:02:48)
aetos さんの Web サイト
No34342 (魔界の仮面弁士 さん) に返信
> ■No34339 (びぎなー さん) に返信
> >>http://msdn.microsoft.com/en-us/library/cc144101.aspx
>>英語で書かれていて私には全く分かりません(汗
>>日本語で見れたりしますか??
>
> http://www.microsofttranslator.com/BV.aspx?ref=Internal&a=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fcc144101.aspx

Live Translator は…精度がちょっと…
まぁ、機械翻訳なんて似たりよったりと言えばそうですが。

基本、翻訳サイトを補助に使いながらも、英語サイトを読めないとプログラミングは辛い場合が多いです。
もちろん、すらすら読める必要はなく、要旨がなんとなく把握できればいいのですが。

さて、問題は以下のどちらなのか、あるいは両方なのか、まずそれをはっきりさせるべきでしょう。
両方だとすれば、それぞれを別個に解決すべきで、一緒にやろうとするべきではありません。

1. C# でレジストリを操作する方法がわからない
2. レジストリのどこをどういじればよいかがわからない

2 がわからないのなら、英語のリファレンスが一番確実ではあるのですが、例えば「ファイルの関連付け」といったキーワードで検索してみたり、実際のレジストリを見てみるのもいい方法です。
レジストリエディタを起動して、データを壊さないように注意しつつ、HKEY_CLASSES_ROOT \ Word.Document.8 \ Shell キーあたりにどんなデータがあるのか見てみると参考になるでしょう。

# シェル拡張 DLL までは、現時点の要件では必要なさそう。
引用返信 編集キー/
■34536 / inTopicNo.6)  Re[5]: コンテキストメニューの編集
□投稿者/ びぎなー (3回)-(2009/03/31(Tue) 23:13:00)
> 1. C# でレジストリを操作する方法がわからない
> 2. レジストリのどこをどういじればよいかがわからない
>
> 2 がわからないのなら、英語のリファレンスが一番確実ではあるのですが、例えば「ファイルの関連付け」といったキーワードで検索してみたり、実際のレジストリを見てみるのもいい方法です。
> レジストリエディタを起動して、データを壊さないように注意しつつ、HKEY_CLASSES_ROOT \ Word.Document.8 \ Shell キーあたりにどんなデータがあるのか見てみると参考になるでしょう。


返信が遅くなり申し訳ありません。
2.が当てはまります。

私がいま分からないのは、上でも書いてありますが、
右クリックのコンテキストメニューへの項目追加(私が作成したアプリケーションで開く項目)を
Wordファイル、Excelファイルで別々に行いたいのです。

レジストリを少し見てみましたが、HKEY_CLASSES_ROOT直下に「Word」や「Excel」といったキーがありましたが、
上記の条件を満たすにはどのキーをどのように編集したら良いのかが分かりません。

それが分かれば、そうなるようにC#でレジストリを操作したいと考えています。

宜しくお願い致します。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -