读取硬盘生成机器码:
*-- 定义 DLL 函数
DECLARE SHORT GetVolumeInformation IN Win32API;
STRING @lpRootPathName, STRING @lpVolumeNameBuffer,;
INTEGER nVolumeNameSize, INTEGER @lpVolumeSerialNumber,;
INTEGER @lpMaximumComponentLength, INTEGER @lpFileSystemFlags,;
STRING @lpFileSystemNameBuffer, INTEGER nFileSystemNameSize
*-- 要读取的驱动器目录
zcroot = "C:\"
*-- 初始化变量
STORE 0 TO zcserialno, zccomplen, zcsysflags
STORE SPACE(268) TO zcvolname, zcsysname
STORE LEN(zcvolname) TO zcvolsize, zcnamesize
*-- 调用 GetVolumeInformation 读取磁盘信息
llresult = (GetVolumeInformation(@zcroot, @zcvolname,zcvolsize, @zcserialno, @zccomplen, @zcsysflags,@zcsysname, zcnamesize) # 0)
*-- 读取成功
IF llresult
thisform.diskcode.value=allt(STR(zcserialno+自定义数字,16))
ENDIF
生成注册码算法:
if !empty(thisform.diskcode.value)
thisform.regcode.value=allt(str(int(val(sys(2007,allt(thisform.diskcode.value)))*自定义数字),16))
endif
2346

被折叠的 条评论
为什么被折叠?



