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