我有一个运行外部程序的NSIS脚本,该程序返回C ++类型HRESULT(unsigned int32),NSIS使用此值作为signed int32运行。我需要花时间正确转换价值。
有没有简单的方法在NSIS脚本中自动执行此操作?
更新:解决方案是使用NSIS命令转换值 IntFmt $ 0“0x%X”$ 0
答案 0 :(得分:4)
NSIS变量是字符串,但在需要时会在内部转换为数字。
您可以使用IntCmpU
(LogicLib语法中的$ 0 U> = $ 1等)来比较无符号数和IntFmt
,以便以您喜欢的方式格式化数字...
..和HRESULT应视为已签署; < 0表示错误,0 = S_OK,> 0表示S_FALSE并计数。