1

デスクトップを右クリックすると、「新規」サブメニューを含むシェル コンテキスト メニューが表示されます。

例 1:

シェルの新しいオブジェクト リスト

例 2:

ここに画像の説明を入力

この機能を私の C# WPF アプリケーションに追加することは可能でしょうか? これらのアイテムをアプリのコンテキスト メニューに配置しますが、それらすべてのアイテムを取得する方法と、選択したアイテムを実行する方法 (たとえば、新しい既定のファイルを作成する) がわかりません。

COM相互運用が必要になると思いますが、サンプルコードをオンラインで見つけることができませんでした(アンマネージの例でさえありません)。(gong .net shell lib を使用して) メニュー コンテキスト全体を表示しようとしましたが、この "New" サブメニューが欠落しているため、シェル コンテキスト メニューの一部ではなく、Windows エクスプローラーによって動的に追加されたものである可能性があります。理想的には、コンテキスト メニュー全体を表示する必要がある場合でも、Windows エクスプローラーからこの機能を再利用したいと考えています。

4

1 に答える 1

3

これらは ShellNew クラスと呼ばれます。これらは、Windows が検索する単なるレジストリ キーです。

以下は、それらを使用するためのヘルパー関数を含むオープン ソース プロジェクトです。

http://sourceforge.net/projects/shellnewhandler/

これらのリストをレジストリから取得して、アプリケーションに入力したいと思いますか?

必要な情報の例として、regedit を開いて HKEY_CLASSES_ROOT に移動し、「.txt」キーワードを探します。「ShellNew」キーがあり、notepad.exe から新しいファイル名を文字列リソースとして取得すると思います (これはオプションですが、「New Text Document.txt」という名前を付けます)。また、.txt レジストリ キーのデフォルト キーが「txtfile」であることにも注意してください。これは、ファイルのタイプを記述し、そのアイコンへのパスを与える別のキーを指します。

于 2013-03-28T01:36:01.570 に答える