知识大全 开发手记:共享软件注册程序编写实例(2)

Posted 时间

篇首语:知识的价值不在于占有,而在于使用。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 开发手记:共享软件注册程序编写实例(2)相关的知识,希望对你有一定的参考价值。

  Option Explicit    Private Declare Function GetVolumeInformation Lib kernel _    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 等到某一磁盘分区的信息     ************注册窗体*****************     运用另一个*** mdb来控制软件是否超出试用期    Private Sub Form_Load()     根据C盘序列号得到原ID    Dim Driver VolName Fsys As String    Dim volNumber MCM FSF As Long    Driver = c:\\     Dim res As Long    Dim localid As Long    res = GetVolumeInformation(Driver VolName volNumber MCM FSF Fsys )     将c盘序列号加密并显示在注册窗体的本机码中    localid = *****volNumber***** 加密算法    Text Text = localid 显示经加密后的本机码    End Sub    Private Sub cancel_Click()    On Error GoTo error     检测系统文件夹是否有*** mdb文件 如果没有 则是系统第一次安装 建立此数据库文件    If Dir(sPath & \\*** ** ) = Then    Dim ws As Workspace    Dim db As Database    Dim tdf As TableDef    Dim fld As Field    Dim rst As Recordset     DBEngine对象相当于Jet数据库引擎 不需要创建该对象 CreateWorkspace创建一个工作区对象     Workspace对象为用户定义一个会话 通过与之关联的用户名和口令建立一个安全级别 当不需要安全级别时可使用缺省的工作区DBEngine Workspace( )    Set ws = DBEngine Workspaces( )     创建一个空的数据库文件 dbLangGeneral参数用来确定数据驱动程序支持的参数    Set db = ws CreateDatabase(sPath & \\*** mdb dbLangGeneral)     创建一张新表    Set tdf = db CreateTableDef( *** )     创建first_time字段    Set fld = tdf CreateField( first_time dbDate )    tdf Fields Append fld 把first_time字段添加到表中     创建last_time字段    Set fld = tdf CreateField( last_time dbDate )    tdf Fields Append fld 把last_time字段添加到表中     创建times字段    Set fld = tdf CreateField( times dbInteger )    tdf Fields Append fld 把times字段添加到表中    db TableDefs Append tdf 将***表添加到*** mdb中    db Close 关闭*** mdb    Set db = ws OpenDatabase(sPath & \\*** mdb ) 以可读写方式打开*** mdb    Set rst = db OpenRecordset( *** ) 打开一个记录集    With rst     AddNew 向记录集增加一条新记录     写入一条记录     Fields( first_time ) = Date     Fields( last_time ) = Date     Fields( times ) =      Update 将记录写入数据库    End With    rst Close    db Close 关闭*** mdb    ws Close     **********更改系统时间 来实现隐藏注册库的修改时间***************    ………………………………………  …………………………………………  …………………………………………………    dbEncrypt dbEncrypt (sPath & \\*** mdb ) 数据库加密    Name sPath & \\*** mdb As sPath & \\*** **      ********************将时间改会原来时间************************    …………………………  …………………………    MsgBox 这是你首次启动本系统!你的试用期为 天 今天是第一天 谢谢使用! vbOKOnly + vbInformation 欢迎!     *** Show 启动主窗体    Else 系统有*** mdb文件 则不是第一次运行 就不用建立数据库文件了     Dim ws As Workspace    Dim db As Database    Dim rst As Recordset    Dim num As Integer    dbEncrypt dbExplain (sPath & \\*** ** )    Set ws = Workspaces( )    Set db = ws OpenDatabase(sPath & \\*** ** )    Set rst = db OpenRecordset( *** ) 开始检测用户是否修改了系统日期    rst MoveFirst    If rst Fields( last_time ) > Date Or rst Fields( times ) > Then    MsgBox 对不起 你在本软件的试用期不可以修改系统日期 否则将取消您的系统试用权 如果你想继续使用本软件 请您恢复系统日期 谢谢合作! vbOKOnly + vbInformation 提示     End    End If    If Date rst Fields( first_time ) >= Then 设定试用期为 天    MsgBox vbCrLf & 你已经启动本系统 & rst Fields( times ) & 次 但已超过了软件 天的试用期 & vbCrLf & vbCrLf & 如果您愿意继续使用本系统 请将 本机码 以打电话(*** ********) & vbCrLf & vbCrLf & 或发邮件()的形式与***联系来得到注册码! vbOKOnly + vbInformation 提示     Else     仍在试用期内    num = rst Fields( times )    rst Edit    rst Fields( last_time ) = Date    rst Fields( times ) = num +     rst Update    MsgBox 这是你第 & rst Fields( times ) & 次使用本系统 你还有 & (Date rst Fields( first_time )) & 天的试用期 祝你今天工件愉快! vbOKOnly + vbInformation 提示     *** Show 启动你的主窗体    End If    rst Close    db Close    ws Close     ***************更改系统时间 来实现隐藏注册库的修改时间***************    ……………………………………     *****************************************************************************    dbEncrypt dbEncrypt (sPath & \\*** mi ) 加密数据库    Name sPath & \\*** ** As sPath & \\*** ** 因在前面改动时间会影响库中的时间 故在这里做一下假改动来达到修改时间的目的      ********************将时间改会原来时间************************    ………………………………………     **************************************************************    End If    Unload register 关闭注册窗口    Exit Sub    error:    dbEncrypt SaveError Register cancel_Click     End Sub    Private Sub enter_Click()    On Error GoTo SaveErr:     进行注册 验证注册ID    Dim ws As Workspace    Dim db As Database    Dim tdf As TableDef    Dim rst As Recordset    Dim fld As Field    Dim Driver VolName Fsys As String    Dim volNumber MCM FSF As Long    Driver = c:\\     Dim res As Long    res = GetVolumeInformation(Driver VolName volNumber MCM FSF Fsys ) 得到硬盘序列号    Dim Tid As Long    Dim regid As String    Tid = Val(Text Text)    regid = Trim(Text Text)    If regid = ******************* Then 判断输入的密码是否同解密算法得到的密码一致     ***********************更改系统时间 来实现隐藏注册库的修改时间***************    ………………………………     *****************************************************************************    MsgBox 恭喜您已经注册成功 欢迎使用水利工程投资控制与评审系统 vbOKOnly + vbInformation 提示      *****将注册信息写入密码注册库*****    dbEncrypt dbExplain (sPath & \\*** ** ) 数据库解密    Set ws = DBEngine Workspaces( )    Set db = ws OpenDatabase(sPath & \\*** ** )    Set rst = db OpenRecordset( *** )    rst MoveFirst    rst Edit    rst Fields( *** ) = cha138/Article/program/net/201311/11710

相关参考

知识大全 asp用户注册实例程序

  asp教程用户注册实例程序  建立access数据库教程dbmdb在其中建立数据表user字段分别为u_uid(自动)u_user(用户名文本型)u_pass(密码文本型)四建立接收registe

知识大全 个人考勤软件开发实例

  个人考勤软件开发实例    作者:YangLanGuang  CAttendanceDlgdlg;之后立即把这个对象的指针信息存入CWinApp::m_pM

知识大全 开发手记之实现web.config的快速

   问题简述    在Web开发中对fig进行配置是非技术人员无法胜任的工作但是常常需要由客户自己来进行简单配置的时候需要提供一

知识大全 .NET中三层构架开发实例-用户注册系统

.NET中三层构架开发实例-用户注册系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!下面是用户注

知识大全 开发自己的英文语音朗读软件[2]

  .经过上面的步骤已经将此组件引入到我们的程序中来并生成了vtxtAuto_tlB单元unit我们只需要在自己的应用程序中使用此单元就可以了现在我们在Speechunit的uSeS声明的末尾加上

知识大全 使用C#编写的一个定时关机程序

使用C#编写的一个定时关机程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有很多的软件都实现

知识大全 本人零基础想自学单片机程序编写,但不知道从哪里开始学,谁可以给我推荐几本相关知识的书

本人零基础想自学单片机程序编写,但不知道从哪里开始学,谁可以给我推荐几本相关知识的书先学c语言然后买个开发板,然后开发板有资料和视频,就足够了如果还是不够的话,那就买一本郭天祥饿的十天学会单片机,学的

知识大全 使用UML编写Java应用程序 (2)实现

使用UML编写Java应用程序(2)实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序设计

知识大全 用VB.NET 2005编写定时关机程序[2]

用VB.NET2005编写定时关机程序[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  双击

知识大全 使用共享内存在进程之间传送数据

  今日在项目中碰到一个问题就是一个程序的两个进程之间需要频繁的传送数据具体的来说是一个需要频繁的发送数据而另一个实例需要频繁的访问获得这些数据当然这个问题是有很多解的例如数据库再例如文件可是因为这个