Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

Изменения в реестре без перезагрузки системы   Найти похожие ветки 

 
Cure   (2003-11-26 20:36) [0]

Моя прога вносит изменения в реестр. Как привести их в действие, не перегружая машину? Пробовал SendMessage и т.д - не работает. Потом посоветовали SystemParametersInfo()... оно-то хорошо, только не знаю я, что в скобочках писать надо... Помогите, чем можете. Заранее спасибо.


 
miek ©   (2003-11-26 22:03) [1]

Обычные изменения, вообще говоря, сразу "в действие приводятся". На то они и изменения. Или ты пытаешься динамические разделы править?


 
Dimman1 ©   (2003-11-26 22:14) [2]

а какие измения конкретно?


 
Talla2k ©   (2003-11-27 00:24) [3]

to Dimman1!!!
Вот яркий пример: установили новое расширение файла в системе,а
иконки этих файлов появляются только после перегрузки!!!Хотя в реестре все было и до перегрузки!!!


 
Игорь Шевченко ©   (2003-11-27 00:32) [4]

Talla2k © (27.11.03 00:24)

Точнее, после перезапуска оболочки, так как она кеширует иконки для типов файлов.


 
Talla2k ©   (2003-11-27 14:47) [5]

to Игорь Шевченко
Ну да!!!А вот как увидеть сразу???


 
Diamond Cat ©   (2003-11-27 23:41) [6]

можно рехнуть кеш иконок , блин забыл как этот файлик называется, но изменения произойдут только когда системе надо будет сверится с кешом, не найдя его она прочешет реестр и перерисует иконки (это так ради прикола) , а вот реальные способы
Номер один , не правильный но иконки обновляет, наткнулся на него случайно поверено только под 98
R:=TRegistry.Create;
try
R.RootKey:=HKEY_CURRENT_USER;
if R.OpenKey("Control Panel\Desktop\WindowMetrics", false) then begin
OldS:=R.ReadString("Shell Icon size");
if OldS <> "" then begin
NewS:=IntToStr(StrToInt(OldS)-1);
showmessage(news);
R.WriteString("Shell Icon size", NewS);
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, 0, SMTO_ABORTIFHUNG, 10000, Ok);
R.WriteString("Shell Icon size", OldS);
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, 0, SMTO_ABORTIFHUNG, 10000, Ok);
end;
end;
finally
R.Free;
end;
и номер два правильный (насколько я могу судить)
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);



Страницы: 1 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
4-16827
Reanimator
2003-11-30 23:28
2004.02.06
Как по хендлу окна получить путь к екзешнику


8-16521
sergn
2003-10-02 21:25
2004.02.06
Зеркальный вывод текста


8-16528
Raduga
2003-10-01 11:00
2004.02.06
Как убрать мерцание при перерисовке?


9-16026
Vitas2
2003-07-22 16:17
2004.02.06
Попадание в цель


14-16596
Шишкин Илья
2004-01-09 11:17
2004.02.06
Полифония