コピー、貼り付け、プロパティ、削除などの IContextMenu 操作を呼び出そうとしていますが、呼び出しが正常に行われているのに、コピーと切り取りの操作のみが実行されません。
以下のシナリオを参照してください。
CMINVOKCOMMANDINFO.lpVerb をそれぞれのコマンド文字列 (「コピー」、「貼り付け」、「プロパティ」など) に設定しています。
CMINVOKECOMMANDINFO cmici={ sizeof(CMINVOKECOMMANDINFO) };
ZeroMemory( &cmici, sizeof(CMINVOKECOMMANDINFO));
cmici.cbSize = sizeof(CMINVOKECOMMANDINFO);
cmici.fMask=0;
cmici.hwnd=m_pOwnerWnd!=NULL ? m_pOwnerWnd->GetSafeHwnd() : NULL;
cmici.lpVerb= "copy";
cmici.lpParameters= NULL;
cmici.lpDirectory=NULL;
cmici.nShow=SW_SHOWNORMAL;
cmici.dwHotKey=0;
cmici.hIcon=NULL;
ITEMIDLIST のコンテキスト メニューを取得しています。
HRESULT hResult = lpParentFolder->GetUIObjectOf(
m_pOwnerWnd!=NULL ? m_pOwnerWnd->GetSafeHwnd() : NULL, 1,
(const struct _ITEMIDLIST**)&(lpRelativeIDL), IID_IContextMenu, 0,
(LPVOID*)&lpcm)
コンテキストメニューのクエリ;
hResult=lpcm->QueryContextMenu(hMenu,0,1,0x7fff,dwFlags);
最後に呼び出します。
hResult=lpcm->InvokeCommand(&cmici);
::DestroyMenu(hMenu);
lpcm->Release();
if(FAILED(hResult))
return FALSE;
return TRUE;
コマンドの削除、プロパティ、貼り付けなどは、コピーと切り取りを除いて正常に機能しています
この点で誰か私を助けてくれませんか?
ありがとう。