2009-05-02 13 views
0

私は初心者.Net 2.0と3.5の開発者です。 Vistaでファイルを右クリックしたときにコンテキストメニューを作成するアプリケーションを作成したいと考えています。右クリックした後、私は残りの部分を把握できると思うが、私はVista APIにアクセスする技術を知らない。Vistaのコンテキストメニューを右クリックしてファイルを作成するのを手伝ってください。

フォローアップ:私は人々がと応答したことを情報のいくつかを読んでいたよう

、私はシェル拡張に行き過ぎここつもりだということを発見しました。私は私のアプリを呼び出して、パラメータとしてファイル名を渡すだけで、このプロジェクトをもっと簡単に保つことができると思います。特定の拡張子を持つファイルを右クリックすると、これでもエクスプローラのコンテキストメニューにアプリが表示される必要があります。これをどうやって行うのですか?

+0

(KBCafeのPDFは、単純なHTMLのリンクを見つけることができませんでした)。あなたがすでにそれを見ているかどうかは分かりません。 –

答えて

1

聞こえない危険性があるので、私はこれを.Net 2.0または3.5でお勧めします。 Brianはあなたが実装しようとしていることはシェル拡張であると言いました。これらは、Vistaシェルがロードするライブラリとして実装されています。

ウェブ上にいくつかのチュートリアルがありますが、これらは.Net 2.0で実装する方法や、これがどれほど悪い考えであるかなどについて述べています。 Vistaシェルに.Netシェル拡張をロードさせると、シェル拡張が必要とする.Net CLR全体を強制的にロードします。これをさらに悪化させる原因は、1つのプロセスで完全な.Net CLRの1つのバージョンしかロードできないことです。したがって、.Net 1.0 CLRが必要なシェル拡張があり、Vistaがこれをロードした場合、シェル拡張が必要とする2.0 CLRをロードできません。

また、Stack Overflow articlesにはすでにこれが議論されています。

implementing a shell extension in unmanaged C++の一部の情報

私の答えでPDFをので、私はそのための新しい答えを作成しないでしょうフォローへの答えを提供しなければならない

0

書き込みしようとしていることを「シェル拡張」といいます。私はこれを書いたことがないので、簡単な例を挙げることはできませんが、今度はGoogleでチュートリアルを検索することで、より多くの進歩を遂げることができます。

0

どのバージョンのWindowsでもエクスプローラのシェル拡張を書き込むためにマネージコードを使用することはできません。だから、もしあなたが1つを書いたければ、C++のような "伝統的な"言語でそれを行う必要があります。

0

You need a Context Menu Shell Extensionここで気をつけるべきことは、not allowed to write them in .net(旧新物ブログ)です。
アウトオブプロセスエクステンション(IPCを介してマネージドサービスを呼び出すスケルトンは管理されていません)を書き込もうとすることはできますが、それを提供する人はいませんでした。

関連する問題