3,881
社区成员
发帖
与我相关
我的任务
分享HRESULT CUploadMenuExt::QueryContextMenu (HMENU hmenu,
UINT uMenuIndex,
UINT uidFirstCmd,
UINT uidLastCmd,
UINT uFlags )
{
if (uFlags & CMF_DEFAULTONLY)
{
return MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_NULL, 0);
}
UINT uCmdID = uidFirstCmd;
//添加横线
InsertMenu (hmenu, uMenuIndex, MF_SEPARATOR | MF_BYPOSITION, 0, NULL);
uMenuIndex++;
HMENU hSubMenu = CreateMenu();
//添加子菜单
if(hSubMenu)
{
InsertMenu (hSubMenu, 0, MF_BYPOSITION, uCmdID++, _T("上传至个人目录"));
SetMenuItemBitmaps(hSubMenu, 0, MF_BYPOSITION, m_hBitmapUpLoad, m_hBitmapUpLoad);
}
//添加菜单项
InsertMenu (hmenu, uMenuIndex, MF_STRING | MF_POPUP | MF_BYPOSITION,
(UINT_PTR)hSubMenu, _T("安全小助手"));
SetMenuItemBitmaps(hmenu, uMenuIndex, MF_BYPOSITION, m_hBitmapMenu, m_hBitmapMenu);
uMenuIndex++;
//添加横线
InsertMenu(hmenu, uMenuIndex, MF_SEPARATOR | MF_BYPOSITION, 0, NULL);
uMenuIndex++;
return MAKE_HRESULT ( SEVERITY_SUCCESS, FACILITY_NULL, 1 );
}
//处理菜单响应
HRESULT CUploadMenuExt::InvokeCommand (LPCMINVOKECOMMANDINFO pCmdInfo )
{
if (0!=HIWORD(pCmdInfo->lpVerb))
return E_INVALIDARG;
switch (LOWORD(pCmdInfo->lpVerb))
{
case 0:
if(!m_Recorder.IsEmailHelperLogin())
{
MessageBox(NULL,_T("请先登录安全小助手"), _T("警告"),MB_OK);
CString AppPath = m_Recorder.GetAppPath()+"/安全小助手.exe";
ShellExecute(NULL, "open", AppPath, NULL, NULL, SW_SHOW);
return S_OK;
}
OnMenuOpenEm();
break;
default:
return E_INVALIDARG;
}
return S_OK;
}