Главная страница
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.029 c
14-16667
новичок_из_сыктывкара
2004-01-17 23:11
2004.02.06
ОТветьте пожайлуста, можно ли уже готовый .exe (если я точно зна)


1-16442
Janbolat
2004-01-28 07:32
2004.02.06
Сохранение quickrep в формате HTML/htm


3-16144
Bless
2004-01-16 12:48
2004.02.06
Вызов х.п. из х.п. с результатом запроса качестве параметра


1-16327
Вован_
2004-01-25 10:37
2004.02.06
Как отловить время простоя пользователя?


3-16122
FastByte
2004-01-16 16:18
2004.02.06
Как раскрасить DBGrid