ファイルの作成を始めてください-> Vistaのコンテキストメニューを右クリック

StackOverflow https://stackoverflow.com/questions/815483

質問

私は初心者の.Net 2.0および3.5開発者です。 Vistaでファイルを右クリックしたときにコンテキストメニューを作成するアプリケーションを作成したい。右クリック後-残りは理解できると思いますが、Vista APIにアクセスするためのテクニックはわかりません。

フォローアップ:

私は人々が回答した情報のいくつかを読んでいるので、シェル拡張でここでやり過ぎになっていることに気付きました。アプリを呼び出してファイル名をパラメーターとして渡すだけで、このプロジェクトをずっと簡単に保つことができると思います。これにより、特定の拡張子を持つファイルを右クリックすると、エクスプローラーのコンテキストメニューにアプリが表示されます。これをどうやってやるのですか?

役に立ちましたか?

解決

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

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

また、スタックオーバーフローの記事もあります。 すでにこれについて議論しています。

アンマネージC ++でのシェル拡張機能の実装(KBCafe PDF 、簡単なhtmlリンクが見つかりませんでした)

他のヒント

作成しようとしているものは、「シェル拡張」と呼ばれます。私は一度も書いたことがないので、簡単な例を挙げることはできませんが、その名前がわかったので、Googleでチュートリアルを検索することで、さらに進歩できるでしょう。

Windowsのどのバージョンでも、マネージコードを使用してエクスプローラーのシェル拡張を作成することは許可されていません。したがって、作成する場合は、「従来の」形式で作成する必要があります。 C ++などの言語。

コンテキストメニューシェル拡張機能 、今心に留めておくべきことの1つは、 。netでの書き込みは許可されていません (古い新しいことのブログ)。
アウトプロセス拡張機能(IPCを介してマネージドサービスを呼び出すスケルトンはアンマネージド)を記述しようとすることはできますが、それを提供している人はいませんでした。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top