Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11829
Последний выпуск: 19.06.2015

Как в Delphi изменить иконку у директории.

Обычно, для изменения вида папок в Проводнике используется файл desktop.ini.

Сперва необходимо создать файл Desktop.ini и поместить в ту директорию, иконку которой мы хотим изменить. В программе для этого можно воспользоваться классом TIniFile и передать в него путь директории.

Теперь нам необходимо записать в .ini файл пары <key>=<value>. В Desktop.ini эти пары выглядят следующим образом (самое главное, это указать иконку и её индекс):

[.ShellCLassInfo]
IconFile=C:LocationofFolder.ico
IconIndex=0
InfoTip=Delphi is the coolest IDE ever!

Значение IconFile это путь к .dll, .ico, или .exe. В Delphi это выглядит так:

  with iniFile do
  begin
    //Следующие строки меняют иконку
    WriteString('.ShellClassInfo', 'IconFile',  editIconPath.Text);
    WriteString('.ShellClassInfo', 'IconIndex', editIconIndex.Text);
    WriteString('.ShellClassInfo', 'InfoTip', 'Use Delphi because it rocks!');
    UpdateFile; 
  end;

Теперь, когда файл Desktop.ini создан, необходимо изменить атрибуты папки и добавить системный флаг. Чтобы иконка отображалась правильно, желательно установить системный флажёк как для папки, так и для её родителя. Для установки атрибутов воспользуемся функцией SetFileAttribue():

//Устанавливаем системные атрибуты для папки и её родителя
SetFileAttributes(PChar(edFolderPath.Text), FILE_ATTRIBUTE_SYSTEM);
if Length(edFolderPath.Text) > 3 then //Если директория не корневая...
begin
   //функция LastChar возвращает индекс последнего вхождения символа
   //в строку. Этот способ позволяет быстро получить путь родительской
   //директориии, если, конечно, директория не является корневой на диске..
   tempDir := Copy( edFolderPath.Text, 1,LastChar(edFolderPath.Text, '')-1);
   SetFileAttributes(PChar(tempDir), FILE_ATTRIBUTE_SYSTEM);              
end;

Теперь можно открыть Проводник и посмотреть в левой панели на значёк директории.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
26K
15 февраля 2007 года
GeserX
0 / / 15.02.2007
Мне нравитсяМне не нравится
15 февраля 2007, 21:03:05
Приятная статейка для новичков, можно было б расширить описанием изменения фона папок...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог