Тема: Delphi xe7 Контексне меню

Як додати власний пункт до контексного меню в провіднику для певного файла і для всіх файлів

2 Востаннє редагувалося koala (05.08.2015 16:08:15)

Re: Delphi xe7 Контексне меню

Ви надто вузько формулюєте питання, тому відповідь вам хіба у спеціалізованому дельфінарії дадуть. Якщо ж викинути з питання слова "Delphi xe7", то почитайте, наприклад, http://www.cyberforum.ru/windows/thread393324.html чи http://vindavoz.ru/win_obwee/548-ubrat- … menyu.html

3

Re: Delphi xe7 Контексне меню

var
  sTypeName: string;
begin
  with TRegistry.Create do
    try
      RootKey := HKEY_CLASSES_ROOT;
      { Установите расширение, которое Вы хотите. Включая символ '.' }
      OpenKey('.txt', True);
      { Получить имя типа файла }
      sTypeName := ReadString('txt');
      CloseKey;
      { Создаем расширение проводника. Вместо 'Open' поместите то, что Вы хотите. }
      OpenKey('.txt\' + sTypeName + 'Shell\run', True);
      { Пункт контекстного меню }
      WriteString('', 'Открыть при помощи моего приложения');//тут ошибка
      CloseKey;

      OpenKey('.txt\' + sTypeName + 'Shell\run\Command', True);
      { Командная строка. Введите все опции командной строки, которые необходимы.
        Не забудьте кавычки для длинных имен файлов с пробелами. Даже если имя файла
        приложения не содержит пробелы, папка, в которой оно находится может их содержать.
        %1 - является именем выбранного файла. }
      WriteString('', '"' + Application.ExeName + '" "%1"');
      CloseKey;

      { Повторите это для каждого файла, который Вы хотите включить в контекстное меню.
        Для этой операции, Вы можете использовать цикл и массив строковых констант
        с расширениями файлов. }
    finally
      Free;
    end;
Подякували: koala, Torbins2