Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Context menu extensions

Context menu extensions

Scheduled Pinned Locked Moved C / C++ / MFC
question
2 Posts 1 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Anil_vvs
    wrote on last edited by
    #1

    Hi All, I have implemented context menu extension on my Namespace Extension icon. I have added 4 menus in my QueryContextMenu function. This works fine in Windows 2k. But I am able to see only the first menu added by me when I test it on WinXP or on Win2k3. Also, explorer crashes when the user selects the "Create Shortcut" menu on win 2k. Can anyone tell me what may be going wrong here? Thanks and Regards, Anil

    A 1 Reply Last reply
    0
    • A Anil_vvs

      Hi All, I have implemented context menu extension on my Namespace Extension icon. I have added 4 menus in my QueryContextMenu function. This works fine in Windows 2k. But I am able to see only the first menu added by me when I test it on WinXP or on Win2k3. Also, explorer crashes when the user selects the "Create Shortcut" menu on win 2k. Can anyone tell me what may be going wrong here? Thanks and Regards, Anil

      A Offline
      A Offline
      Anil_vvs
      wrote on last edited by
      #2

      This is how I implemented my QueryCOntextMenu STDMETHODIMP MyShellFOlder::QueryContextMenu(HMENU hMenu, UINT uiIndexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { AFX_MANAGE_STATE(AfxGetStaticModuleState()) m_hMenu = hMenu; m_idCmdFirst = uiIndexMenu; m_id = idCmdFirst; if (CMF_DEFAULTONLY & uFlags) return MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_NULL,0); int i = uiIndexMenu; MxSNECmdMgr cmdMgr; try { if(!cmdMgr.IsConnectedFromShell()) { MENUITEMINFO mii = { 0 }; mii.cbSize = sizeof(MENUITEMINFO); mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE; mii.wID = idCmdFirst + ID_CONNECT; mii.fType = MFT_STRING; mii.dwTypeData = _T("Connect"); mii.fState = MFS_ENABLED; bool b = InsertMenuItem(hMenu, uiIndexMenu++, TRUE, &mii); mii.cbSize = sizeof(MENUITEMINFO); mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE; mii.wID = idCmdFirst + ID_SEARCH; mii.fType = MFT_STRING; mii.dwTypeData = _T("Search"); mii.fState = MFS_DISABLED; b = InsertMenuItem(hMenu, uiIndexMenu++, TRUE, &mii); mii.cbSize = sizeof(MENUITEMINFO); mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE; mii.wID = idCmdFirst + ID_CREATEUSINGTEMPLATE; mii.fType = MFT_STRING; mii.dwTypeData = _T("Create Using Template"); mii.fState = MFS_DISABLED; b = InsertMenuItem(hMenu, uiIndexMenu++, TRUE, &mii); mii.cbSize = sizeof(MENUITEMINFO); mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE; mii.wID = idCmdFirst + ID_DISCONNECT; mii.fType = MFT_STRING; mii.dwTypeData = _T("Disconnect"); mii.fState = MFS_DISABLED; b = InsertMenuItem(hMenu, uiIndexMenu++, TRUE, &mii); mii.cbSize = sizeof(MENUITEMINFO); mii.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE; mii.wID = idCmdFirst + ID_ABOUT; mii.fType = MFT_STRING; mii.dwTypeData = _T("About"); mii.fState = MFS_ENABLED; b = InsertMenuItem(hMenu, uiIndexMenu++, TRUE, &mii); } catch(...) { } return MAKE_HRESULT(SEVERITY_SUCCESS, 0, USHORT(i-uiIndexMenu)); }

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups