正文

用VB制作注册软件的方法2005-10-03 09:26:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5607.html

分享到:

我自己制作的一个注册软件,希望能给大家带来帮助Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As LongPrivate 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 StringPublic Reg_Key As LongPublic Jia_Mi_File As StringPublic Jia_Mi_Char As StringPublic Fso As New FileSystemObjectPublic Ctf As TextStreamPublic Function Jia_Mi_Txt()Reg_C = Abs(GetSerialNumber("c:\"))If Dir(App.Path & "\yibao.ini") = "" Then'建立一个文本文件Open App.Path & "\yibao.ini" For Output As #1Print #1, "00000000"Close #1End IfJia_Mi_File = App.Path & "\yibao.ini"Set Fso = CreateObject("Scripting.FileSystemObject")Set Ctf = Fso.OpenTextFile(Jia_Mi_File, 1) '建立 TextStream 对象 CTFJia_Mi_Char = ""Do While Ctf.AtEndOfStream <> TrueJia_Mi_Char = Jia_Mi_Char & Chr(58 Xor Asc(Ctf.Read(1)))LoopCtf.CloseSet Ctf = NothingIf Jia_Mi_Char <> Int(Reg_C * 18 / 22 * 16 / 19) Then'显示注册对话框Dialog.Show 1End IfEnd Function'Text2.Text = Len(Reg_C)Function GetSerialNumber(sroot As String) As LongDim lserialnum As LongDim r As LongDim strlabel As String, strtype As Stringstrlabel = 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中'在每次运行时与文档中的加密后字符串进行反解密比较,不成功提示用户进行注册

阅读(4464) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册