Как в Delphi изменить иконку у директории. - Форум Allsoft-Team
14:05:44
2024.05.02
 
Главная Форум Поиск Интернет-магазин РАРОГ® Игры Скрипты для uCoz Вход Регистрация

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Тему просматривают: Гость
  • Страница 1 из 1
  • 1
Форум Allsoft-Team » Программирование (Delphi & Pascal) » Исходники Delphi » Как в Delphi изменить иконку у директории.
Как в Delphi изменить иконку у директории.
-=}{0TT@БЬ)Ч=-  Дата: Среда, 2010.04.14, 12:59:02 | Сообщение # 1
-=}{0TT@БЬ)Ч=-
Хакерство - это стиль жизни
Сообщений: 243
[ 5 ]
Награды: 4

Компилятор: Delphi 4.x, 5.x


Обычно, для изменения вида папок в Проводнике
используется файл 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;


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



[qc][/qc]
[qc][adminred] ИНТЕРНЕТ МАГАЗИН ДЛЯ НАСТОЯЩИХ МУЖЧИН RAROG.pro[/adminred]
[/qc]
Форум Allsoft-Team » Программирование (Delphi & Pascal) » Исходники Delphi » Как в Delphi изменить иконку у директории.
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи

Музыка пользователя

(1)

Лc как Вконтакте (прикольно)

(1)

Проститутки Москвы

(0)

Майл ру анонсировала новый сервис

(0)

Новый форум свежих софтов и ирг для ПК

(0)

Огромный портал обновленных программ и игрушек для ПК

(0)

Игровые Автоматы

(0)

paytightihos

(0)

fukalotiseryu

(0)

drupsplurry

(0)

Oбщение

(8)

Робот на форум

(6)

Оценивайте

(5)

помогите плиз!

(5)

Баннер

(5)

заказ

(5)

Красивые друзья сайта

(4)

Играем в города

(4)

Какой у вас был мабильник!

(4)

Какую музыку вы слушаете?

(4)

  • -=}{0TT@БЬ)Ч=-
  • -=Fotogr@qp=-
  • Strike
  • {_-=keyn=-_}
  • Artem06660
  • orochi
  • Sherxan
  • TeRRor4iK
  • ToKKi
  • KaRaL
  • CrazyCat
  • BloodRain
  • antonshc
  • Nafanya
  • Drager
  • Eksigo
  • Dober
  • -=}{0TT@БЬ)Ч=-
  • Hapk
  • Strike
  • © Allsoft-Team™ - Cофт, Игры, Фильмы онлайн, ICQ 2024
    Использование материалов с этого сайта допускается только с разрешения администрации.
    Авторы проекта не несут ответственности за содержание рекламных материалов и файлов, размещенных на сторонних серверах.