Здравствуйте! При нажатии правой кнопкой мышки по файлу/папке появляется системное контекстное меню. Задача программно указать нужный файл, вызвать (скрытно) данное меню и нажать на один из пунктов. Каким образом это можно сделать или хотя бы в какую сторону копать? Спасибо
SHGetDesktopFolder(&pDesktop) pDesktop->ParseDisplayName(NULL, NULL, lpwszDisplayName, &cbEaten, &pidl, &dwAttribs) pDesktop->BindToObject(pidl, NULL, IID_IShellFolder2, (LPVOID *)&pFolder))) pFolder->GetUIObjectOf(hWnd, 1, (LPCITEMIDLIST *)&pidl, IID_IContextMenu, NULL, (LPVOID *)&pCtxMenu) pCtxMenu->InvokeCommand(&cmi);
Partner спасибо! Разобрался..почти. У меня получилось вызвать один из пунктов, не выбирая его. Но для этого пришлось еще создать и заполнить меню. Есть ли возможность обойтись без этих действий?
Еще нашел статью http://rsdn.ru/article/qna/winshell/filemenu.xml В итоге для заданного файла/каталога выводится меню, но оно не содержит некоторые пункты. Например, у меня установлен winrar, и в контекстном меню он есть, но программно (с помощью данной статьи) не получается вывести данные пункты. Как можно и их отобразить?