(二) 响应鼠标单击消息,获取IContextMenu接口并弹出菜单;
通过C盘的IShellFolder接口的GetUIObjectOf方法我们可以得到该节点的一个或多个指定子节点的IContextMenu接口,该方法原型如下:
HRESULT GetUIObjectOf(
HWND hwndOwner,
UINT cidl, //指定apidl指向的数组中包函的pidl的个数
LPCITEMIDLIST *apidl,//指向cidl个PIDL,需要注意的是,这些pidl都必须是相对的
REFIID riid, //我们要的是上下文菜单接口,这里指定为IID_IContextMenu_
UINT *rgfReserved,
VOID **ppv
);
|
得到IContextMenu后我们得提供一个弹出式菜单的句柄,并把他传给IContextMenu::QueryContextMenu,
47



被折叠的 条评论
为什么被折叠?



