Архивы

Delphi - как можно добавить свой пункт в контекстное меню проводника

Для иллюстрации объектов — расширений контекстного меню — выберем пример ContMenu (поставляется с Delphi в папке DEMOSACTIVEX SHELLEXT). В этом примере для объектов типа "проект Delphi" добавляется возможность запуска компилятора в командной строке. При вызове метода QueryContextMenu нужный пункт добавляется с помощью функции

InsertMenu!

function TContextMenu.QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst,
idCmdLast, uFlags: UINT): HResult; 
begin
Result := 0; // или использовать MakeResult(SEVERITY_SUCCESS, // FACILITY_NULL, 0);
if ( (uFlags and $OOOOOOOF) = CMF__NORMAL) 
or
((uFlags and CMF_EXPLORE) о 0) then begin 
// Добавить один пункт меню во всплывающее меню 
InsertMenu(Menu, indexMenu, MF__STRING or MF_BYPOSITION, idCmdFirst,
'Compile...');
Result := 1; 
// или использовать MakeResult(SEVERITY_SUCCESS, // 
FACILITY_NULL, 1)
end; 
end;

Дальше еще 557 слов