如何在 Inno Setup 中使用 GetVolumeInformation?
我需要在使用 Inno Setup 创建的安装过程中获取驱动器号的卷序列号。我知道 DLL 函数可以导入到 Inno 中,但我对它还很陌生,并且在使其工作时遇到一些问题。我知道 kernel32 中的 GetVolumeInformation 函数可以满足我的需要。有人可以告诉我如何在 Inno 脚本中导入和使用该功能来检索卷序列号吗?
谢谢!
I need to get the volume serial number for a drive letter during an installation created with Inno Setup. I know that DLL functions can be imported into Inno, but I'm fairly new to it and having some problems getting it to work. I know that the GetVolumeInformation function in kernel32 can do what I need. Could someone show me how to import and use that functionality in an Inno script to retrieve the volume serial number?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Inno-Setup 代码::
使用 Inno-setup 版本 5.2.3 进行测试
在 Inno-Setup 的 Unicode 版本中,将
PChar
替换为PAnsiChar
Inno-Setup code::
Tested with Inno-setup version 5.2.3
In Unicode versions of Inno-Setup replace
PChar
withPAnsiChar
由于
InnoSetup
不支持指针,因此您必须创建用于调用GetVolumeInformation
函数。以下代码示例应该适用于 Delphi 和 InnoSetup 的所有组合(从 Unicode 支持的角度来看)。这是 Delphi 库代码:
这是 InnoSetup 代码:
Since the
InnoSetup
doesn't support pointers you will have to create the external library for the call of theGetVolumeInformation
function. The following code samples should work for all combinations of the Delphi and InnoSetup (from the Unicode support point of view).Here's the Delphi library code:
And here's the InnoSetup code: