Форум: "Система";
Текущий архив: 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/
НЕ РАБОТАЕТ !!!
А надо бы...
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c