Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Обновление иконок 


Unnamed   (2001-08-26 03:43) [0]

Господа программисты !
Столкнулся со следующей проблемой: я изменяю в реестре вид стандартных иконок (например для изменения стрелочки значка я пишу в раздел "HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\Shell Icons" параметр с именем "29" и значением пути к новой иконке. Так вот собственно вопрос: как сделать так, чтобы эти изменения вступили в силу БЕЗ ПЕРЕЗАГРУЗКИ. Сразу оговорюсь нажатие F5 на десктопе иконки НЕ обнавляет. Также просьба не предлагать варианты из FAQ - они не срабатывают, я проверял.

p.s. Как-то это все же можно сделать, т.к. у меня есть утилитка TweakUI, писанная Microsoft"ом которая это с успехом делает.



Unnamed   (2001-08-26 23:46) [1]

Что, идей нет ?



Unnamed   (2001-08-28 00:57) [2]

Помогите, пожалуйста !!!!!



Доброжелатель   (2001-08-28 10:22) [3]

Спасение утопающих - дело рук самих утопающих.



Виктор Щербаков   (2001-08-28 10:24) [4]

Попробуй WM_SETTINGCHANGE



Almaz   (2001-08-29 00:47) [5]

>Доброжелатель
Да,... Вы свое имя оправдали полностью :)
>Виктор Щербаков
Не сработает. Я сталкивался с такой же проблемой.
>Unnamed
Во-первых, из каталога WINDOWS надо удалить файл ShellIconCache. Если этого не сделать, то даже перезагрузка не всегда поможет :)
Во-вторых придеться перегрузить Explorer. Т.е. сделать ему TerminateProcess, а затем запустить по новой. Это произойдет почти :) незаметно.

Удачи.
p.s. А насчет TweakUI - это отдельный вопрос и я к нему присоединяюсь. КАК ОНО ЭТО ДЕЛАЕТ БЕЗ ПЕРЕЗАГРУЗКИ EXPLORER ????



Григорий Ситнин   (2001-08-29 10:11) [6]

К сожалению, не помню как конкретно, но точно помню, что надо послать сообщение, которое по-русски звучит, как "ОбновиКэшИконок"...



Wizard_Ex   (2001-08-30 14:11) [7]

А по-моему нужно изменить битность с 16 на 24 или наоборот, только тогда обновится(без перезагрузки), к сожалению не знаю как это делать



Wizard_Ex   (2001-08-30 14:13) [8]

Имею ввиду какчество отображения иконок . есть такая штука



Unnamed   (2001-08-31 02:02) [9]

>Almaz
Работает, но Explorer перезагружать мне не подходит.

>Григорий Ситнин
А можно по подробнее, пожалуйста.

>Wizard_Ex
А как это сделать подскажите.



Григорий Ситнин   (2001-09-23 09:23) [10]

Неназванный: к сожалению, попродробней нельзя, так как книга, в которой была эта информация была подарена. попробуйте поискать на http://msdn.microsoft.com/library/



Polevi   (2001-09-23 12:32) [11]

2Unnamed
Я прошу прощения - нет времени смотреть - есть этот способ в FAQ или нет
Попробуй

(Информация взята не помню откуда)

Можно использовать из приложения Дельфи с помощью следующей конструкции:
ShellExecute(Application.Handle,
Pchar("Open"),Pchar("C:\Windows\Rundll32.exe"),
Pchar(команда),
Pchar("C:\Windows"),SW_SHOWNORMAL);
где: команда - одна из перечисленных ниже

Например, выход из Windows без любых сообщений/вопросов:

ShellExecute(Application.Handle, Pchar("Open"),Pchar("C:\Windows\Rundll32.exe"), Pchar("krnl386.exe,exitkernel"), Pchar("C:\Windows"),SW_SHOWNORMAL);

"rundll32 user,repaintscreen" - Обновить рабочий стол



Andrey Klimov   (2001-09-24 22:36) [12]

Windows 2000/

SendMessage(FindWindow("Progman", "Program Manager"), WM_COMMAND, $A065, 0);

У меня работает, а у Вас?



Unnamed   (2001-09-28 01:48) [13]

Win 98/

НЕ РАБОТАЕТ !!!
А надо бы...




Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.034 c
1-22063           Art                   2001-12-18 15:12  2002.01.08  
А можно заблокировать доступ к папке,что-то типа fmShareExclusive ,но для папки???


1-22187           mitry                 2001-12-15 02:53  2002.01.08  
Thread: Suspend/Resume & Synchronize


3-21954           strahov               2001-12-05 15:32  2002.01.08  
Кто-нибудь встречался с багом


3-21931           SklifF                2001-12-04 15:59  2002.01.08  
Что это за ошибка? Capability not suppoted


3-21979           Maxman                2001-12-06 13:21  2002.01.08  
DBTreeView