Показать сообщение отдельно
  #1  
Старый 25.11.2009, 21:37
s0manmbula s0manmbula вне форума
Прохожий
 
Регистрация: 06.11.2009
Сообщения: 16
Репутация: 10
Вопрос Регистрация нового типа файла

Доброе время суток!
Проблема вообщем вот в чем! Пытаюсь зарегестрировать свой тип файлов с помощью следующей ф-и:

Код:
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?
Ответить с цитированием