是否可以使用Inno Setup在[Code]部分刷新桌面?
要么通过使用SendMessage或以某种方式使用SHChangeNotify?
如何在Windows 8.1上使用Inno Setup设置“以pipe理员身份运行”registry项
Microsoft SmartScreen – 使用InnoSetup安装程序暂停?
InnoSetup和NSSM退出码5
Inno Setup用户主目录path
dynamicselect每个用户和每台机器的安装
您可以通过在适当的DLL中调用它来调用Windows API中的任何函数。 这里记录了Pascal DLL语法。 像往常一样在MSDN中找到SHChangeNotify函数的文档。 这个函数在Shell32.dll找到(没有什么奇怪的!)。
[Code] const SHCNE_ASSOCCHANGED = $08000000; SHCNF_IDLIST = $00000000; procedure SHChangeNotify(wEventID: integer; uFlags: cardinal; dwItem1,dwItem2: cardinal); external '[email protected] stdcall'; procedure SendChangeNotification; begin SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_IDLIST,0); end;
现在你可以在任何你喜欢的地方调用SendChangeNotification ,比如在一个事件函数中 。
更新
上面的文字回答你的问题,如何“使用Inno Setup在[Code]部分刷新桌面”。 但是你知道Inno Setup可以自动刷新桌面吗? 简单写一下
ChangesAssociations=yes
在[Setup]部分。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。