VB应用一
2007-10-16 00:49
141 查看
利用API中的“GetVolumeInformation”函数提取使用者机器的硬盘序列号为特征码,注册时提交此码,经过软件著作权人加以运算,给出注册码,最后软件使用人输入注册码完成整个注册过程(为使说明简单,本例中以特征码减101做为注册码)。
新建一模块文件
新建一模块文件,并将如下声明的语句和常量添加到Module1.Bas模块中:
编程时需注意的是要将声明语句写在同一行中。
窗体设置
在Form1上添加2个文本框,Name属性分别设置为Text1、Text2;再添加1个按钮,Name属性设置为Command1。
添加代码
将如下程序代码添加到Form1的Form1_Load事件中:
将如下程序代码添加到Command1的Command1_Click事件中:
新建一模块文件
新建一模块文件,并将如下声明的语句和常量添加到Module1.Bas模块中:
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 Global GetVal As Long |
窗体设置
在Form1上添加2个文本框,Name属性分别设置为Text1、Text2;再添加1个按钮,Name属性设置为Command1。
添加代码
将如下程序代码添加到Form1的Form1_Load事件中:
Private Sub Form_Load() Dim TempStr1 As String * 256 Dim TempStr2 As String * 256 Dim TempLon1 As Long Dim TempLon2 As Long ……… ‘读取是否注册的信息,如何控制这里不再说明 ……… Call GetVolumeInformation("C:/", TempStr1, 256, GetVal, TempLon1, TempLon2, TempStr2, 256) Text1.Text = GetVal ‘提取本机C盘的序列号至文本框一 End Sub |
Private Sub Command1_Click() If Text2 〈〉 CStr(GetVal) Then MsgBox "注册码不正确,请认真检查输入是否正确。" Else MsgBox "你已经成功注册,请重新启动本软件。" ……… (将正确注册的信息写入,使软件功能以后不受限制。具体方法依个人爱好进行设置。) ……… End If End Sub |
相关文章推荐
- VB.net应用技巧2: 解决VS2015版本中文乱码
- 章鱼哥—VB.NET 控件中你不知道的属性之——AllowDrop 应用详解
- VB 之 第三课 VB API 字体函数的应用
- VB.NET应用程序中多线程的应用实例
- 浅谈VB.NET文章系列之一通过例子,浅谈反射(Reflection)的应用说明
- VB+VFP联合应用
- VB与数据库应用一例----生成EXCEL表
- 使用vb建立DCOM服务器端及客户端应用的详细过程(2)
- VB中子分类技术的应用
- VB.net中HOOK的应用(二)
- 在VB.NET中应用SQLDMO
- 在VB.NET中应用SQLDMO
- DataGridView控件在vb.net中的应用
- SQLDMO在VB中的应用
- VB.NET OpenXml 修改制定Worksheet的特定单元格(外加log4net应用)
- 在VB.NET中应用SQLDMO http://writeblog.csdn.net/ArticleEdit.aspx
- VBdotnet2005 TCP IP System.Net.Sockets应用实例
- SQLDMO在VB中的应用
- FSO对象模型在VB中的应用
- VB.NET 开发的WINDOWS 界面控件如何应用在网页中