CComPtr<ITrayWindow> m_TrayWnd;
CComPtr<IContextMenu> m_Inner;
CComPtr<IShellFolder> m_Folder;
+ UINT m_idCmdCmLast;
HWND m_Owner;
LPITEMIDLIST m_FolderPidl;
hRet = psfDesktop->BindToObject(pidlStart, NULL, IID_PPV_ARG(IShellFolder, &m_Folder));
if (SUCCEEDED(hRet))
{
- CreateContextMenuFromShellFolderPidl(hPopup);
+ hRet = CreateContextMenuFromShellFolderPidl(hPopup);
+ m_idCmdCmLast = (SUCCEEDED(hRet)) ? HRESULT_CODE(hRet) : ID_SHELL_CMD_LAST;
AddStartContextMenuItems(hPopup);
}
}
UINT uiCmdId = PtrToUlong(lpici->lpVerb);
if (uiCmdId != 0)
{
- if ((uiCmdId >= ID_SHELL_CMD_FIRST) && (uiCmdId <= ID_SHELL_CMD_LAST))
+ if ((uiCmdId >= ID_SHELL_CMD_FIRST) && (uiCmdId < m_idCmdCmLast))
{
CMINVOKECOMMANDINFO cmici = { 0 };
CHAR szDir[MAX_PATH];
CStartMenuBtnCtxMenu()
{
+ m_idCmdCmLast = ID_SHELL_CMD_LAST;
}
virtual ~CStartMenuBtnCtxMenu()