ProgramFan.com
回到首页 设为首页 加入收藏 网站留言
人才招聘频道
编程爱好者BLOG
编程爱好者论坛
首页 | 论坛 | BLOG | 人才招聘 | 书评 | 文章 | 资讯 | 下载 | 源码 | 项目交易 | 兴趣小组 | 网友作品 | 资源共享 | 收藏夹 | ACM题库 | VBAPI查询 | 刻盘服务
 您所在的位置:编程爱好者网站文档中心Visual Basic文章 - 正文
 

用VB制作注册软件的方法

(加入日期:2005-10-5)
收藏文章】【对此文发表评论】【保存文章至硬盘】【打印文章】【字体:


我自己制作的一个注册软件,希望能给大家带来帮助
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private 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盘序列号并存入一个加密后的文本文件yibao.ini中,
''在每次运行时检测C盘序列号并与加密文本文件中的相应值进行比较如果不符提示用户进行注册

Public Reg_C As String
Public Reg_Key As Long
Public Jia_Mi_File As String
Public Jia_Mi_Char As String
Public Fso As New FileSystemObject
Public Ctf As TextStream



Public Function Jia_Mi_Txt()
Reg_C = Abs(GetSerialNumber("c:\"))
If Dir(App.Path & "\yibao.ini") = "" Then
''建立一个文本文件
Open App.Path & "\yibao.ini" For Output As #1
Print #1, "00000000"
Close #1
End If

Jia_Mi_File = App.Path & "\yibao.ini"
Set Fso = CreateObject("Scripting.FileSystemObject")

Set Ctf = Fso.OpenTextFile(Jia_Mi_File, 1) ''建立 TextStream 对象 CTF

Jia_Mi_Char = ""
Do While Ctf.AtEndOfStream <> True

Jia_Mi_Char = Jia_Mi_Char & Chr(58 Xor Asc(Ctf.Read(1)))
Loop

Ctf.Close
Set Ctf = Nothing

If Jia_Mi_Char <> Int(Reg_C * 18 / 22 * 16 / 19) Then
''显示注册对话框
Dialog.Show 1
End If

End Function


''Text2.Text = Len(Reg_C)


Function GetSerialNumber(sroot As String) As Long
Dim lserialnum As Long
Dim r As Long
Dim strlabel As String, strtype As String
strlabel = String$(255, Chr$(0))
strtype = String$(255, Chr$(0))
r = GetVolumeInformation(sroot, strlabel, Len(strlabel), lserialnum, 0, 0, strtype, Len(strtype))
GetSerialNumber = lserialnum
''在 strLabel 中为磁盘卷标
''在 strType 中为文件系统类型
End Function

''此部分为程序加密处理模块,负责将C盘的卷标读并转换成数字
''对这串数字与58进行异或处理,得到一个加密的字符串写入yibao.ini中
''在每次运行时与文档中的加密后字符串进行反解密比较,不成功提示用户进行注册

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( ProgramFan.Com )

对此文发表评论】 【编程爱好者论坛】 【关闭窗口

 
 
 
 
 
 

最新招聘信息

 
 


关于本站 - 网站导航 - 广告服务 - 诚邀加盟 - 联系站长友情链接赞助本站
Copyright© 1999-2008 Programfan.com. All Rights Reserved
网站制作&维护:Hannibal    Email: webmaster@pfan.cn