Всем привет,
как всегда непонятки с системой .
Хочется уметь программно привязывать своё расширение к своим программам, чтобы при клике на файл они запускались.
Программно зарегистрировать своё расширение (*.ext) в Windows, как?
спасибо.
.
Модератор: Модераторы
unit srtretimer_reg;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Registry;
function RegisterSelf: boolean;
implementation
function RegisterSelf: boolean;
var
R: TRegistry;
a, b: string;
begin
Result:=False;
R:=TRegistry.Create;
R.LazyWrite:=false;
R.RootKey:=HKEY_CLASSES_ROOT;
R.OpenKey('\.rrp', true);
R.WriteString('','RipRetimerProject');
R.OpenKey('\RipRetimerProject', true);
R.WriteInteger('EditFlags', 0);
R.WriteInteger('BrowserFlags', 8);
R.WriteString('', 'Файл сценария RipRetimer');
R.OpenKey('\RipRetimerProject\DefaultIcon', true);
R.WriteString('', ExtractFilePath(ParamStr(0)) + 'ripretimer.ico,0');
R.OpenKey('\RipRetimerProject\shell', true);
R.WriteString('','open');
R.OpenKey('\RipRetimerProject\shell\open\command', true);
a:='"' + ParamStr(0) + '" "%1"';
if R.ValueExists('') then b:=R.ReadString('') else b:='';
if b = a
then Result:=True
else R.WriteString('', a);
R.Free;
end;
end.
olegy123 писал(а):через реестр все делается.
Cheb писал(а):работать с правами администратора - модно
Как-то можно ли прилинковать расширение через
Cheb писал(а):Я дал кусок кода который именно это делает (привязывает *.rrp файлы к екзешнику, из которого вызвана)
pupsik писал(а):ыше, вроде как, ответили на ваш вопрос.
Можно ещё и на сайт мелких послать. Или поищите нечто такого.
код прекрасно работает. СПАСИБО! Но код работает, только с правами администратора,
только с правами администратора
Cheb писал(а):В подобных случаях чаще полезнее рыться через regedit, смотреть наглядно как оно там устроено, чем читать мануалы
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16