Пятница, 27.06.2025
Королевство Delphi
Главное меню
Статьи
Наш опрос
Как часто ви на этот сайт заходите?
Всего ответов: 159
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Система » Разное

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

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

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

Теперь нам необходимо записать в .ini файл пары =. В 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;

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

Получить ссылку на материал

Категория: Разное | Добавил: Барон (09.12.2011)
Просмотров: 798 | Теги: директоря, иконка, Delphi | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
ActiveX [10]
CORBA и COM [16]
Kol и MCK [23]
WinAPI [28]
Компоненты [27]
Работа с Bluetooth [4]
Железо [8]
Текст [18]
Разное [98]
Королевство Delphi © 2010-2025
Яндекс цитирования