上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
用VB制作注册软件的方法
作者:未知 申领版权
2010年11月15日 共有 2095 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    
    一个注册软件
    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中
    ''在每次运行时与文档中的加密后字符串进行反解密比较,不成功提示用户进行注册 
    

    

 

相关新闻

您可能对这些感兴趣  

用VB做定时断线程序
VisualBasic中的界面设计原则和编程技巧
VB6.0与Windows API 间的呼叫技巧
制作可以自动隐藏的弹出式菜单
ListBox中的字符串超长显示的解决方法
VB中的Unicode 和 Ansi 格式
优化程序显示速度
Visual Basic 产生渐层的 Form 背景
用VB实现客户——服务器(TCP/IP)
VB中的时间处理问题

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》