下你所需,载你所想!
汇集开发技术源码资料

易代码实现弹出explorer右键菜单windows shell外壳编程

:6.744KB :1 :2020-09-20 11:59:56

部分简介

SHParseDisplayName转换shell路径。
SHBindToParent取出该文件的IShellFolder对象接口。
通过IShellFolder->GetUIObjectOf查询IContextMenu对象的接口。
利用IContextMenu->QueryContextMenu,查询explorer的上下文菜单。
利用IContextMenu->InvokeCommand,执行相应的菜单命令。

QueryContextMenu (l_pCtxMenuTemp, l_hMenu, 0, 1, 32767, #CMF_EXPLORE) ' 利用IContextMenu->QueryContextMenu,查询explorer的上下文菜单(上下文菜单是通过各类COM组件拼装出来的,它们最终会通过IContextMenu->QueryContextMenu来插入菜单)
GetCursorPos (l_pt) ' 取当前鼠标位置
l_MenuId = TrackPopupMenuEx (l_hMenu, 位或 (#TPM_LEFTALIGN, #TPM_RETURNCMD, #TPM_RIGHTBUTTON), l_pt.x, l_pt.y, p_hwnd, 0) ' 弹出菜单
.如果真 (l_MenuId ≠ 0)
l_ci.cbSize = 36 ' CMINVOKECOMMANDINFO对象的size是36
l_ci.hwnd = p_hwnd
l_ci.lpVerb = MAKEINTRESOURCEA (l_MenuId - 1)
l_ci.nShow = #SW_SHOWNORMAL
InvokeCommand (l_pCtxMenuTemp, Lea_CMINVOKECOMMANDINFO (l_ci)) ' 利用IContextMenu->InvokeCommand,执行相应的菜单命令。
.如果真结束
Release (l_pCtxMenuTemp) ' 释放IContextMenu

易代码实现弹出explorer右键菜单windows shell外壳编程

热门推荐

相关文章