Function Random2 { Declare CryptAcquireContext Lib "advapi32.CryptAcquireContextW" {long ByRefhProv, pszContainer$,pszProvider$, long dwProvType, long dwFlags} Declare CryptReleaseContext Lib "advapi32.CryptReleaseContext" {Long hProv, Long dwFlags} Declare CryptGenRandom Lib "advapi32.CryptGenRandom" {Long hProv, Long dwLen, Long ByRef} Const PROV_RSA_FULL As Long = 1 Const VERIFY_CONTEXT As Long = 0xF0000000& Buffer Clear RandomNum as Long Buffer Clear hProv as long Call Void CryptAcquireContext( hProv(0), "", "", PROV_RSA_FULL, VERIFY_CONTEXT) Call Void CryptGenRandom( Eval(hProv,0), 4, RandomNum(0)) Call Void CryptReleaseContext(Eval(hProv,0), 0&) =Eval(RandomNum,0) } Print Random2()