1

外部プログラムを実行するNSISスクリプトがあり、このプログラムはC ++タイプHRESULT(unsigned int32)を返し、NSISはこの値をsignedint32として動作します。そして、値を正しく変換するために時間を費やす必要があります。

NSISスクリプトでこれを自動的に行う簡単な方法はありますか?

更新:解決策は、このIntFmt $ 0 "0x%X"$0のようなNSISコマンドで値を変換することです。

4

1 に答える 1

4

NSIS変数は文字列ですが、必要に応じて内部で数値に変換されます。

IntCmpU(LogicLib構文では$ 0 U> = $ 1など)を使用して、符号なし数値を比較IntFmtし、任意の方法で数値をフォーマットできます...

..そしてHRESULTは署名されたものとして扱われるべきです。エラーの場合は<0、S_OKの場合は0 = S_OK、S_FALSEとカウントの場合は>0。

于 2012-07-19T22:37:53.460 に答える