Вниз
Скачать: CL | DM;

Обновление окна   Найти похожие ветки 

 
Felix_the_cat   (2003-03-29 04:44) [0]

Такой вопрос:
Из своей программы меняю у папки иконку, но обновление происходит только, когда я перехожу в окно Explorer"a и нажимаю F5. Пробовал и SendMessage отправлять, и в реестре UpdateMode менял - не хочет оно обновляться само. Может, кто знает, как это лечится? Заранее спасибо.


 
Almaz ©   (2003-03-30 04:59) [1]

Попробуйте так:

procedure TForm1.Button1Click(Sender: TObject);
var
Save: String;
Dummy: Cardinal;
begin
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
if not OpenKey("Control Panel\Desktop\WindowMetrics", FALSE) then Abort;
Save := ReadString("Shell Icon size");
if Save = "" then Abort;
WriteString("Shell Icon size", IntToStr(StrToInt(Save) - 1));
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, 0, SMTO_ABORTIFHUNG, 10000, Dummy);
WriteString("Shell Icon size", Save);
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, SPI_SETNONCLIENTMETRICS, 0, SMTO_ABORTIFHUNG, 10000, Dummy);
finally
Free;
end;
end;


Удачи.


 
Felix_the_cat   (2003-03-30 13:04) [2]

Огромное спасибо, Almaz - всё прекрасно работает.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
1-94943
lipskiy
2003-05-11 23:24
2003.05.29
Ярлык с другой иконкой из ресурсов программы?


3-94701
prof
2003-05-08 06:41
2003.05.29
Ошибка в запросе SQL insert into


1-94899
Zew
2003-05-16 21:17
2003.05.29
Форма не рисовалась


1-94966
User
2003-05-18 12:16
2003.05.29
Any Key для консольного приложения


6-94983
Orcy
2003-03-30 00:22
2003.05.29
Сколько компов в локалке?




   Наверх