Code: |
uses Registry;
procedure AddFileMenue(FilePrefix, Menue, Command: string); var reg: TRegistry; typ: string; begin reg := TRegistry.Create; with reg do begin RootKey := HKEY_CLASSES_ROOT; OpenKey('.' + FilePrefix, True); typ := ReadString(''); if typ = '' then begin typ := Fileprefix + 'file'; WriteString('', typ); end; CloseKey; OpenKey(typ + '\shell\' + Menue + '\command', True); WriteString('', command + ' "%1"'); CloseKey; Free; end; end;
procedure DeleteFileMenue(Fileprefix, Menue: string); var reg: TRegistry; typ: string; begin reg := TRegistry.Create; with reg do begin RootKey := HKEY_CLASSES_ROOT; OpenKey('.' + Fileprefix, True); typ := ReadString(''); CloseKey; OpenKey(typ + '\shell', True); DeleteKey(Menue); CloseKey; Free; end; end;
{ Example}
procedure TForm1.Button1Click(Sender: TObject); begin AddFileMenue('rtf', 'Edit with Notepad', 'C:\Windows\system\notepad.exe'); { Если нажать правой кнопкой мыши на *.ртф-файл потом Вы можете увидеть всплывающее меню: "Редактировать с помощью Блокнота". При нажатии на эту точку Блокнот открывает файл. } end;
procedure TForm1.Button2Click(Sender: TObject); begin { Undo your changes in the Registry: } DeleteFileMenue('rtf', 'Edit with Notepad'); end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!