смена иконки в Vista
От: developer2006  
Дата: 30.04.07 12:48
Оценка:
Здравствуйте!

Задача следующая: необходимо изменить иконку папки в Windows Vista

Алгоритм кажется тот же что и раньше:
1) добавляем запись в desktop.ini, раньше (Win 2k, XP)это надо было делать 2мя ключами

IconFile = Путь к файлу иконки
IconIndex = индекс иконки в файле

в Vista заменили это одним ключом

IconResource = путь к файлу иконки,индекс иконки в файле

2) установить атрибут папки только для чтения

И смена должна была произойти, если же не происходила, то достаточно было нажать F5, и иконка изменялась

А в Vista нажатие F5 не помогает, кто знает, как сменить иконку в висте?

З.Ы. Похоже что кеш иконок не обновляется
Re: смена иконки в Vista
От: wellwell Австралия https://www.softperfect.com
Дата: 30.04.07 12:52
Оценка:
"developer2006" <58718@users.rsdn.ru> wrote in message news:2469144@news.rsdn.ru...
> А в Vista нажатие F5 не помогает, кто знает, как сменить иконку в висте?
> З.Ы. Похоже что кеш иконок не обновляется

А SHChangeNotify не поможет?
Posted via RSDN NNTP Server 2.0
Re[2]: смена иконки в Vista
От: developer2006  
Дата: 30.04.07 15:39
Оценка:
Здравствуйте, wellwell, Вы писали:

W>"developer2006" <58718@users.rsdn.ru> wrote in message news:2469144@news.rsdn.ru...

>> А в Vista нажатие F5 не помогает, кто знает, как сменить иконку в висте?
>> З.Ы. Похоже что кеш иконок не обновляется

W>А SHChangeNotify не поможет?


Пробовал, обновление проходит, но иконка не изменяется. Причем заметил, что когда изменяешь иконку стандартным методом "Свойства папки -> настройка -> сменить значок -> OK" ничего даже не мигает, как будто ОС изменяет кеш только для этой папки.

И еще одно наблюдение если создать новую папку, создать desktop.ini с нужными параметрами и аттрибутами файла + установить аттрибут папки "Только чтение", то ИКОНКА ИЗМЕНИТСЯ, но если изменить desktop.ini во второй раз, то иконка будет та, что была установленная впервые.
Re[3]: смена иконки в Vista
От: Аноним  
Дата: 02.05.07 08:24
Оценка:
Здравствуйте, developer2006, Вы писали:

D>Здравствуйте, wellwell, Вы писали:


Поже в висте действительно есть какой-то супер кеш для иконок. Поставил прогу свою, создал иконку на рабочем столе. Потом сделал новую версию проги с новой иконкой. А на рабочем столе все равно старая иконка, что бы я ни делал — и удалял все по десять раз... стоит только создать иконку для моей проги — так она старая и хоть ты тресни.
Re[4]: смена иконки в Vista
От: developer2006  
Дата: 02.05.07 10:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, developer2006, Вы писали:


D>>Здравствуйте, wellwell, Вы писали:


А>Поже в висте действительно есть какой-то супер кеш для иконок. Поставил прогу свою, создал иконку на рабочем столе. Потом сделал новую версию проги с новой иконкой. А на рабочем столе все равно старая иконка, что бы я ни делал — и удалял все по десять раз... стоит только создать иконку для моей проги — так она старая и хоть ты тресни.


Но ведь сама ОС способна менять менять иконку, как же это сделать программно?
Re[5]: смена иконки в Vista
От: Danchik Украина  
Дата: 02.05.07 12:53
Оценка:
Здравствуйте, developer2006, Вы писали:

[Skip]

D>Но ведь сама ОС способна менять менять иконку, как же это сделать программно?


А как вы вызывали SHChangeNotify?
Re[6]: смена иконки в Vista
От: developer2006  
Дата: 02.05.07 20:11
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Здравствуйте, developer2006, Вы писали:


D>[Skip]


D>>Но ведь сама ОС способна менять менять иконку, как же это сделать программно?


D>А как вы вызывали SHChangeNotify?



Вот так: SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
Re[7]: смена иконки в Vista
От: Danchik Украина  
Дата: 03.05.07 12:39
Оценка:
Здравствуйте, developer2006, Вы писали:

[Skip]

D>>А как вы вызывали SHChangeNotify?


D>Вот так: SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);


А вы попробуйте SHCNE_UPDATEITEM
Re[8]: смена иконки в Vista
От: developer2006  
Дата: 06.05.07 14:18
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Здравствуйте, developer2006, Вы писали:


D>[Skip]


D>>>А как вы вызывали SHChangeNotify?


D>>Вот так: SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);


D>А вы попробуйте SHCNE_UPDATEITEM


пробовал, не помогло и это, вот здесь есть примерчик неплохой, класно работает в ХП но в ВИСТЕ не помогает
Re: смена иконки в Vista
От: Arioch  
Дата: 10.05.07 14:06
Оценка:
D>2) установить атрибут папки только для чтения

Насколько помню, атрибут не ReadOnly, а System

И вообще вопрос явно про Windows а не про Delphi
Re[2]: смена иконки в Vista
От: developer2006  
Дата: 10.05.07 19:40
Оценка:
Здравствуйте, Arioch, Вы писали:

D>>2) установить атрибут папки только для чтения


A>Насколько помню, атрибут не ReadOnly, а System


A>И вообще вопрос явно про Windows а не про Delphi


Теоритически да — системный аттрибут, но практически это Read only проверить можно банально сменив иконку средствами ОС.
а аттрибут System надо ставить в 98/95 винде
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.