(二) 响应鼠标单击消息,获取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
);
|