1

我有一个运行外部程序的 NSIS 脚本,该程序返回 C++ 类型 HRESULT(无符号 int32),并且 NSIS 使用此值作为有符号 int32 运行。而且我需要花时间正确转换价值。

有没有简单的方法在 NSIS 脚本中自动执行此操作?

更新:解决方案是使用这样的 NSIS 命令转换值 IntFmt $0 "0x%X" $0

4

1 回答 1

4

NSIS 变量是字符串,但在需要时它们会在内部转换为数字。

您可以使用IntCmpU($0 U>= $1 etc in LogicLib 语法) 来比较无符号数字并IntFmt以您喜欢的任何方式格式化数字...

..和 HRESULT 应被视为已签名;<0 表示错误,0=S_OK 和 >0 表示 S_FALSE 和计数。

于 2012-07-19T22:37:53.460 回答