Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2008-01-09 12:28:28 ЛС | профиль | цитата
Vanchila писал(а):
иконку ассоциированного файла...
комманда, которую нужно послать системе, чтобы та обновилась?

Видимо

SystemParametersInfo(SPI_SETICONS,0,nil,SPIF_SENDCHANGE);
------------ Дoбавленo:

Не всё так просто оказалось...
Вот рабочий пример:


Add(Button,16419700,98,119)
{
Left=35
Top=35
link(onClick,13389651:doRead,[])
}
Add(InlineCode,10252830,364,140)
{
WorkPoints=#8:doNotify|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|7: public|48: procedure doNotify(var dt:TData; index:word);|5: end;|0:|14:implementation|0:|29:const WM_SETTINGCHANGE = $1A;|0:|31:procedure THiAsmClass.doNotify;|22:var dwResult:cardinal;|5:begin|54: SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE,|63: SPI_SETNONCLIENTMETRICS, cardinal(PChar('WindowMetrics')),|55: SMTO_NORMAL or SMTO_ABORTIFHUNG, 10000, dwResult);|4:end;|0:|4:end.|
}
Add(Registry,13389651,161,119)
{
HKey=1
Key="Control Panel\Desktop\WindowMetrics"
Value="Shell Icon Size"
link(onRead,15519479:doValue,[])
}
Add(Registry,6094033,476,112)
{
HKey=1
Key="Control Panel\Desktop\WindowMetrics"
Value="Shell Icon Size"
}
Add(Registry,2029964,329,189)
{
HKey=1
Key="Control Panel\Desktop\WindowMetrics"
Value="Shell Icon Size"
link(Data,15519479:Value,[(335,170)(223,170)])
}
Add(Hub,12121991,273,119)
{
OutCount=4
link(onEvent1,13873015:doOperation,[])
link(onEvent2,4279563:doWork2,[])
link(onEvent3,2029964:doWrite,[(317,139)(317,202)])
link(onEvent4,4279563:doWork3,[(326,146)])
}
Add(Memory,15519479,217,119)
{
link(onData,12121991:doEvent1,[])
}
Add(Math,13873015,420,119)
{
OpType=3
Op2=2
link(onResult,6094033:doWrite,[])
}
Add(HubEx,4279563,322,119)
{
link(onEvent,10252830:doNotify,[(347,132)(347,146)])
}

------------ Дoбавленo:

Можно, наверное, только эксплореру посылать сообщения - быстрее должно получиться.
карма: 1

0