NSIS将int转换为十六进制字符串

时间:2012-07-19 22:23:36

标签: installer nsis

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

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

更新:解决方案是使用NSIS命令转换值 IntFmt $ 0“0x%X”$ 0

1 个答案:

答案 0 :(得分:4)

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

您可以使用IntCmpU(LogicLib语法中的$ 0 U> = $ 1等)来比较无符号数和IntFmt,以便以您喜欢的方式格式化数字...

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