微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Inno Setup刷新桌面

是否可以使用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] 举报,一经查实,本站将立刻删除。

相关推荐