0
我想在NSIS脚本中随机生成一个10位字母数字字符串,以便随后写入文件。在NSIS中生成一个10位字母数字字符串
我发现this plugin它会产生随机数,但我不确定是否有办法在晚些时候将这些数字转换为字符。
这可能吗?
我想在NSIS脚本中随机生成一个10位字母数字字符串,以便随后写入文件。在NSIS中生成一个10位字母数字字符串
我发现this plugin它会产生随机数,但我不确定是否有办法在晚些时候将这些数字转换为字符。
这可能吗?
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
你能解释一下'* i0r0'是什么意思? (看[文档](http://nsis.sourceforge.net/Docs/System/System.html),我期望'* i0'是类型,'r0'是值,但我不能找出'* i0'是什么类型的。) – John
@John'* i'是类型,(在C/C++中为'INT32 *'),'0'是输入,'r0'是输出。您通常将此视为'* i.r0',但我明确将输入值设置为0。你也可以把它分开来使它更清晰:'* i 0 r0' – Anders
啊,谢谢。这实际上使事情变得更清楚。 – John