Доброе время суток!
Проблема вообщем вот в чем! Пытаюсь зарегестрировать свой тип файлов с помощью следующей ф-и:
Код:
procedure TForm1.RegisterFileType(ext: string; App: string; IconSource: String; IconType:String);
var
R : TRegIniFile;
begin
R := TRegIniFile.Create('');
with R do
begin
RootKey := HKEY_CLASSES_ROOT;
WriteString('.'+ext,'',ext+'file');
WriteString(ext+'file\shell\open\command', '', '"'+App+'" "%1"');
WriteString(ext+'file\DefaultIcon', '', IconSource+', '+IconType);
end;
R.Free;
end;
Переменная IconSource собержит адрес dll-файла в котором лежат иконки. IconType соответственно (я так думал) - идентификатор иконки. Все работает, только иконка из dll-файла не меняется. Вообщем скорее всего берется только первая иконка. Как вообще должен выглядеть этот ключь в реестре или каким должна быть переменная IconType? Мой dll-файл содержит иконку с идентификатором HTML_Ico и иконку INI_Ico.
И еще одна неудобная весщь: все это дело обновляется после перезагрузки системы... Можно регистрировать тип файла без перезагрузки? Например через WinApi?