Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.13;
Скачать: CL | DM;

Вниз

Получить контекстное меню отдельного расширения оболочки   Найти похожие ветки 

 
Context   (2008-06-30 13:34) [0]

Добрый день !
Есть программа, устанавливающая свое подменю в меню эксплорера. Задача - получить это самое подменю для диска C и выполнить один из его пунктов.


 
clickmaker ©   (2008-06-30 13:46) [1]

через IContextMenu, видимо


 
Context   (2008-07-01 13:05) [2]

>clickmaker ©   (30.06.08 13:46) [1]
Ну, одним IContextMenu(2) тут не обойдешься, насколько я понимаю.
Вот кусок кода:
 CoInit := CoInitialize(nil);
 try
   OleCheck(SHGetDesktopFolder(Desktop));
   OleCheck(SHGetSpecialFolderLocation(0, CSIDL_DRIVES, PathPIDL));
   OleCheck(Desktop.BindToObject(PathPIDL,  nil,  IID_IShellFolder, Pointer(ShellFolder)));
   ShellFolder.ParseDisplayName(WC.Handle, nil, StringToOleStr(Path),
     pchEaten, FilePIDL[0], Attr);
   OleCheck(CoCreateInstance(StringToGUID("{969223c0-26aa-11d0-90ee-444553540000}"), nil, CLSCTX_INPROC_SERVER, IUnknown, I));
   OleCheck(I.QueryInterface(IID_IShellExtInit, SEI));
   OleCheck(SEI.Initialize(FilePIDL[0], nil, 0));
   OleCheck(I.QueryInterface(IID_IContextMenu, ICMenu));
   ICMenu2 := nil;
   ShellContextMenu := CreatePopupMenu;
   if Succeeded(ICMenu.QueryContextMenu(ShellContextMenu, 0,
     1, $7FFF, CMF_EXPLORE)) and
     Succeeded(ICMenu.QueryInterface(IContextMenu2, ICMenu2)) then
       CallbackWindow := CreateMenuCallbackWnd(ICMenu2);
   try
     PopupMenuResult := TrackPopupMenu(ShellContextMenu, TPM_LEFTALIGN or TPM_LEFTBUTTON
       or TPM_RIGHTBUTTON or TPM_RETURNCMD,
       MousePoint.X, MousePoint.Y, 0, CallbackWindow, nil);
   finally
     ICMenu2 := nil;
   end;


До TrackPopupMenu доходит без ошибок, но меню не выводит.



Страницы: 1 вся ветка

Текущий архив: 2009.09.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1247658666
картман
2009-07-15 15:51
2009.09.13
Как добавить данные из БД в полученный ранее набор данных?


15-1247744394
картман
2009-07-16 15:39
2009.09.13
Книги по моделированию данных.


6-1206613280
Stepper
2008-03-27 13:21
2009.09.13
IdHTTP - как в Get запросе обработать сразу два ЮРЛ?


1-1214477815
yaric
2008-06-26 14:56
2009.09.13
выгрузка chartobject-а в html


1-1215107303
Zheksik
2008-07-03 21:48
2009.09.13
Как провести линию на компоненте фигура(Shape)?