Регистрация своего типа файлов и пункт в контекстном меню
Регистрация своего типа файлов и пункт в контекстном меню
Регистрация своего типа файлов и пункт в контекстном меню После регистрации расширения система будет открывать такие файлы с помощью указанной программы - т.е. передавать имя файла как параметр и соответственно обработать имя файла можно с помощью ParamsCount + ParamStrКод ----- Регистрация своего типа файлов ----------- uses Registry; procedure TForm1.Button1Click(Sender: TObject); var Reg: TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_CLASSES_ROOT; Reg.OpenKey('.txt2' , True); Reg.WriteString('', 'TXT2file'); Reg.CloseKey; Reg.OpenKey('TXT2fileDefaultIcon', True); Reg.WriteString('', Application.ExeName + ',0'); Reg.CloseKey; Reg.OpenKey('TXT2fileshellopencommand', True); Reg.WriteString('', Application.ExeName + ' "%1"'); Reg.CloseKey; Reg.Free; end; ------------------------------------------------ ---------- Пункт в контекстном меню ------------ uses Registry; procedure AddToContext(FileExt, text : string); // FileExt - расширение типа файлов без точки вначале! var R : TRegistry; s : string; begin r := TRegistry.Create; r.RootKey := HKEY_LOCAL_MACHINE; r.OpenKey('SoftwareClasses',false); if not (r.KeyExists('.'+FileExt)) then begin ShowMessage('Такой тип файлов не найден.'); Exit; end else r.OpenKey('.'+FileExt,true); s := r.ReadString(''); ShowMessage(s); r.CloseKey; r.OpenKey('SoftwareClasses',false); r.OpenKey(s,true); r.OpenKey('shell',true); r.OpenKey('Crypt', true); r.WriteString('',text) r.OpenKey('command',true); r.WriteString('',Application.ExeName + '"%1"'); r.CloseKey; r.Free; end;