こんにちは、いろいろ調べていたのですがこの半年どうしても
解らないのでどうかお力をお貸しください。
環境は、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
他力本願的で申し訳ないのですが、よろしくお願いいたします。
Shell Objects で可能か、判りませんが、
以前、VB6でやった時、以下のサンプルを利用させて戴きました。
http://www.mvps.org/btmtz/shellmenu/
たけさん、ご返答ありがとうございます。
Folder関係のツールを作る機会が多いので
私にとって、どうしても欲しかったソースです。
QueryInterface? QueryContextMenu?
いろんな技術があるもんですね。
どうもありがとうございますm(_ _)m
すいません。
解決チェック忘れてました。d(^-^)