Random 在NSIS中生成10位字母数字字符串

Random 在NSIS中生成10位字母数字字符串,random,installation,nsis,Random,Installation,Nsis,我想在NSIS脚本中生成一个随机的10位字母数字字符串,然后写入文件 我找到了生成随机数的方法,但我不确定以后是否有办法将这些数字转换成字符 这可能吗?您能解释一下*i0r0的意思吗?(看,我希望*i0是类型,r0是值,但我无法从中找出*i0是什么类型。)@John*I是类型,(INT32*在C/C++)中,0是输入,r0是输出。您通常将其视为*i.r0,但我在这里明确地将输入值设置为0。你也可以把它隔开,让它更清楚:*i0r0啊,谢谢。事实上,这让事情变得更加清楚了。 StrCpy $2 ""

我想在NSIS脚本中生成一个随机的10位字母数字字符串,然后写入文件

我找到了生成随机数的方法,但我不确定以后是否有办法将这些数字转换成字符


这可能吗?

您能解释一下
*i0r0
的意思吗?(看,我希望
*i0
是类型,
r0
是值,但我无法从中找出
*i0
是什么类型。)@John
*I
是类型,(
INT32*
在C/C++)中,
0
是输入,
r0
是输出。您通常将其视为
*i.r0
,但我在这里明确地将输入值设置为0。你也可以把它隔开,让它更清楚:
*i0r0
啊,谢谢。事实上,这让事情变得更加清楚了。
StrCpy $2 ""
badrange:
    System::Call 'advapi32::SystemFunction036(*i0r0,i1)'
    IntCmpU $0 127 "" ""  badrange ; Limit to ASCII, IsCharAlphaNumeric is locale specific
    System::Call 'user32::IsCharAlphaNumericA(ir0)i.r1'
    StrCmp $1 0 badrange
    IntFmt $0 "%c" $0
    StrCpy $2 "$2$0"
    StrLen $0 $2
    IntCmpU $0 10 "" badrange
DetailPrint $2