VB根据硬盘序列号生成唯一注册码
2010-03-15 00:34
363 查看
在模块中加入下列声明:
Public Declare Function GetVolumeInformation Lib "kernel32" _
Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
´得到某一磁盘分区的信息,如C:
窗体代码如下:
Option Explicit
Private Regid, Localid As Long
Private Sub CmdLocalID_Click()
´根据C盘序列号得到原ID
Dim Driver, VolName, Fsys As String
Dim volNumber, MCM, FSF As Long
Driver = "c:/"
Dim res As Long
res = GetVolumeInformation(Driver, VolName, 127, volNumber, MCM, FSF, Fsys, 127)
´volNumber是C盘序列号
Localid = volNumber / 2 123456789
Text1.Text = Localid
End Sub
Private Sub CmdRegID_Click()
´根据原ID算出注册ID
If IsNumeric(Text1.Text) Then
Regid = CLng(Text1.Text) / 4 * 3 987654321
Else
´error
End If
Text2.Text = Regid
End Sub
Private Sub CmndCheckID_Click()
´验证注册ID
Dim Driver, VolName, Fsys As String
Dim volNumber, MCM, FSF As Long
Driver = "c:/"
Dim res As Long
res = GetVolumeInformation(Driver, VolName, 127, volNumber, MCM, FSF, Fsys, 127)
Dim Tid As Long
Tid = volNumber / 2 123456789
If Regid = Tid / 4 * 3 987654321 Then
MsgBox "正确!"
Else
MsgBox "错误!"
End If
End Sub
为便于演示,我在窗体上用了两个文本框三个按钮,请根据情况灵活使用,可以在用户端算出原ID,发给你,你算出注册ID再发给用户,验证当然是在用户端啦。ID算法很简单,只作示范。此注册ID只能在这一台机器上使用,对于非高手用户来说是足够啦。
本文地址:http://www.bhcode.net/article/20090107/3954.html
Public Declare Function GetVolumeInformation Lib "kernel32" _
Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
´得到某一磁盘分区的信息,如C:
窗体代码如下:
Option Explicit
Private Regid, Localid As Long
Private Sub CmdLocalID_Click()
´根据C盘序列号得到原ID
Dim Driver, VolName, Fsys As String
Dim volNumber, MCM, FSF As Long
Driver = "c:/"
Dim res As Long
res = GetVolumeInformation(Driver, VolName, 127, volNumber, MCM, FSF, Fsys, 127)
´volNumber是C盘序列号
Localid = volNumber / 2 123456789
Text1.Text = Localid
End Sub
Private Sub CmdRegID_Click()
´根据原ID算出注册ID
If IsNumeric(Text1.Text) Then
Regid = CLng(Text1.Text) / 4 * 3 987654321
Else
´error
End If
Text2.Text = Regid
End Sub
Private Sub CmndCheckID_Click()
´验证注册ID
Dim Driver, VolName, Fsys As String
Dim volNumber, MCM, FSF As Long
Driver = "c:/"
Dim res As Long
res = GetVolumeInformation(Driver, VolName, 127, volNumber, MCM, FSF, Fsys, 127)
Dim Tid As Long
Tid = volNumber / 2 123456789
If Regid = Tid / 4 * 3 987654321 Then
MsgBox "正确!"
Else
MsgBox "错误!"
End If
End Sub
为便于演示,我在窗体上用了两个文本框三个按钮,请根据情况灵活使用,可以在用户端算出原ID,发给你,你算出注册ID再发给用户,验证当然是在用户端啦。ID算法很简单,只作示范。此注册ID只能在这一台机器上使用,对于非高手用户来说是足够啦。
本文地址:http://www.bhcode.net/article/20090107/3954.html
相关文章推荐
- 如何能读取串口硬盘序列号(出厂唯一的序列号)
- 通过WMI获得硬盘和CPU的物理序列号(VB.net)
- 如何根据用户名生成注册码
- 根据USB 序列号 生成USB Key
- 唯一序列号生成,自测支持高并发,不支持集群
- 根据用户id生成一个唯一邀请码
- 生成唯一序列号方法整理
- C#/VB.NET 获取电脑属性(硬盘ID、硬盘容量、Cpu序列号、MAC地址、系统类型)
- 根据日期时间和随机量生成唯一ID!!
- java生成唯一序列号,UUID的应用
- 通过WMI获得硬盘和CPU的物理序列号(VB.net)
- 用vb.net取硬盘物理序列号
- C#获取CPU、硬盘、Mac地址并使用CPU和Mac地址生成注册码
- 纯VB代码取得硬盘的物理序列号
- vb获得硬盘物理序列号
- VB取得硬盘物理序列号
- odoo根据当前时间生成序列号
- C#获取CPU序列号机器码并生成注册码
- C程序中唯一序列号的生成
- odoo根据当前时间自动生成序列号