Свой пункт в контекстном меню Windows Explorer
Помимо файлов, Вы можете добавлять пункты в контекстное меню для дисков или папок.
Специальные расширения:
- drive - диски
- folder - папки
uses
Registry;
{ ... }
procedure TForm1.Button1Click(Sender: TObject);
var
sTypeName: string;
begin
with TRegistry.Create do
try
RootKey := HKEY_CLASSES_ROOT;
{ Установите расширение, которое Вы хотите. Включая символ '.' }
OpenKey('.Extension', True);
{ Получить имя типа файла }
sTypeName := ReadString('11');
CloseKey;
{ Создаем расширение проводника. Вместо 'Open' поместите то, что Вы хотите. }
OpenKey('.Extension\' + sTypeName + 'Shell\Open', True);
{ Пункт контекстного меню }
WriteString('', 'Открыть при помощи моего приложения');
CloseKey;
OpenKey('.Extension\' + sTypeName + 'Shell\Open\Command', True);
{ Командная строка. Введите все опции командной строки, которые необходимы.
Не забудьте кавычки для длинных имен файлов с пробелами. Даже если имя файла
приложения не содержит пробелы, папка, в которой оно находится может их содержать.
%1 - является именем выбранного файла. }
WriteString('', '"' + Application.ExeName + '" "%1"');
CloseKey;
{ Повторите это для каждого файла, который Вы хотите включить в контекстное меню.
Для этой операции, Вы можете использовать цикл и массив строковых констант
с расширениями файлов. }
finally
Free;
end;
end;
Вместо .Extension укажите свое расширение файла.
Комментарии