Shell.Applicationでコンテキストメニューの取得

解決


ポテチ  2004-05-07 11:21:50  No: 83264  IP: [192.*.*.*]

こんにちは、いろいろ調べていたのですがこの半年どうしても
解らないのでどうかお力をお貸しください。

環境は、VB6 sp6  WindowsXP HOME です。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/folderitem/invokeverb.asp

上のサイト辺りを見てるのですが、フォルダの右クリックメニュー
で出る”送る(N)”みたいな下に階層を持つメニューを取得することが
できません。
最終的にはその下の階層も取得したいと思っています。

以下にソースを載せて頂きますが、デスクトップ上に”FolderVerb”という
フォルダがあり、フォームにリストボックスコントロール名”List1”
で配置してあります。

Private Sub Form_Load()

Dim objShell As Object
Dim objFolder As Object
Dim objVerb As Object
Dim mPath As String

mPath = "C:\Documents and Settings\Owner\デスクトップ\"

    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.NameSpace(CVar(mPath)).Items().Item("FolderVerb")
    
    List1.Clear
    For Each objVerb In objFolder.Verbs
        'On Error Resume Next
        
        If objVerb = "" Then
            List1.AddItem "?"   '←ここをどうすればいいのか解らない
        Else
            List1.AddItem objVerb.Name
        End If
        
        'If Err.Number Then Err.Clear
    Next
    
Set objVerb = Nothing
Set objFolder = Nothing
Set objShell = Nothing

End Sub


他力本願的で申し訳ないのですが、よろしくお願いいたします。

編集 削除
たけ  2004-05-10 16:03:35  No: 83265  IP: [192.*.*.*]

Shell Objects で可能か、判りませんが、
以前、VB6でやった時、以下のサンプルを利用させて戴きました。
http://www.mvps.org/btmtz/shellmenu/

編集 削除
ポテチ  2004-05-11 10:01:39  No: 83266  IP: [192.*.*.*]

たけさん、ご返答ありがとうございます。
Folder関係のツールを作る機会が多いので
私にとって、どうしても欲しかったソースです。
QueryInterface?  QueryContextMenu?
いろんな技術があるもんですね。
どうもありがとうございますm(_ _)m

編集 削除
ポテチ  2004-05-11 10:38:38  No: 83267  IP: [192.*.*.*]

すいません。
解決チェック忘れてました。d(^-^)

編集 削除