DOBON.NET DOBON.NETプログラミング掲示板過去ログ

エクスプローラのコンテキストメニューの表示

分類:[.NET]

現在私はファイラの作成をしております。
右クリックでエクスプローラのコンテキストメニューを表示させたいのですが、方法がわからずに悩んでおります。

自分で一つずつ項目を作成するのではなく、何かしらエクスプローラのコンテキストを呼び出す方法があるのではないかと思っているのですが。。
ご存知の方いらっしゃいましたら教えていただけないでしょうか?

開発環境はVS.net2003 言語はVBです。

よろしくお願い致します。
あてずっぽです。。。

[Platform SDK]
[Shell Objects for Scripting and Microsoft Visual Basic]
[ShellFolderView]
[Methods]
[PopupItemMenu]

かな?
ヘルプで検索してみてください。
返信ありがとうございます。

先ほど、まどかさんに教えていただいたことを少し調べてみましたが
私のレベルではまだ理解できないもののようです。。

またいろいろ調べてみますが、何かお気づきになったことがありましたら、また教えてください。

よろしくお願い致します。
■No17669に返信(こめたさんの記事)
> 現在私はファイラの作成をしております。
> 右クリックでエクスプローラのコンテキストメニューを表示させたいのですが、方法がわからずに悩んでおります。
>

その先のプロパティや検索のメニューを表示するなら簡単にできるのですが
それではだめですよね。
> その先のプロパティや検索のメニューを表示するなら簡単にできるのですが
> それではだめですよね。

できれば新しいソフトのインストールによりメニューが追加されることも考えて、
エクスプローラのメニューを出したいなと考えております。

でも、もしよかったらその方法も教えていただけないでしょうか?
知りたいです。
よろしくお願い致します。
> でも、もしよかったらその方法も教えていただけないでしょうか?

   Dim objShell As Object
   objShell = CreateObject("Shell.Application")

   'Cドライブのプロパティを表示
   objShell.NameSpace("C:\").Items.Item.InvokeVerb("プロパティ(&R)")

   'CDトレイをオープンする
   'ドライブは環境に合せて設定して下さい。
   'objShell.NameSpace("E:\").Items.Item.InvokeVerb("取り出し(&J)")

   If System.Runtime.InteropServices.Marshal.IsComObject(objShell) Then
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objShell)
      objShell = Nothing
   End If

下記サイト他で詳しく解説されておられますので一読下さい。
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shell.htm
> 下記サイト他で詳しく解説されておられますので一読下さい。
> http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shell.htm

ありがとうございます。そのサイトを見てまいりました。
このような方法があるのですね!とても勉強になりました。

教えてもらったものを使って今の自分でできることをやってみようと思います。

DOBON.NET | プログラミング道 | プログラミング掲示板