Вы можете вызывать любую функцию в Windows API, вызывая ее в соответствующей DLL. Синтаксис Pascal DLL задокументирован здесь . Документация по функции SHChangeNotify
находится на MSDN как обычно. Эта функция найдена в Shell32.dll
(не удивительно!).
[Code]
const
SHCNE_ASSOCCHANGED = $08000000;
SHCNF_IDLIST = $00000000;
procedure SHChangeNotify(wEventID: integer; uFlags: cardinal; dwItem1, dwItem2: cardinal);
external 'SHChangeNotify@shell32.dll stdcall';
procedure SendChangeNotification;
begin
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);
end;
Теперь вы можете вызывать SendChangeNotification
где угодно, например, в функции события .
Обновление
Приведенный выше текст отвечает на ваш вопрос, как «обновить рабочий стол с помощью Inno Setup в разделе [Code]». Но вы знаете, что Inno Setup может обновить рабочий стол автоматически? Просто напишите
ChangesAssociations=yes
в разделе [Setup]
.