当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·看一下连接警告怎么去除    »显示摘要«
    摘要: [linker warning] public symbol operator new(unsigned int) defined in both module d:\program files\borland\cbuilder6\lib\cg32.lib|new and d:\program files\borland\cbuilder6\lib\cp32mt.lib|new ......
    摘要: 如何在社会上混阿 ......


用API得出逻辑盘序列号后可以对其加密吗

用API得出逻辑盘序列号后可以对其加密吗?如何实现,能给原理吗?

NO.1   作者: untitled12

设计原理    
    利用API中的“GetVolumeInformation”函数提取使用者机器的硬盘序列号为特征码,注册时提交此码,经过软件著作权人加以运算,给出注册码,最后软件使用人输入注册码完成整个注册过程。    
   
    新建一模块文件    
    新建一模块文件,并将如下声明的语句和常量添加到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    
   
    将如下程序代码添加到Command1的Command1_Click事件中:    
   
    Private   Sub   Command1_Click()    
   
    If   Text2   〈〉   CStr(GetVal)   Then    
   
    MsgBox   "注册码不正确,请认真检查输入是否正确。"    
   
    Else    
   
    MsgBox   "你已经成功注册,请重新启动本软件。"    
   
    ………    
   
        
   
    ………    
   
    End   If    
   
    End   Sub    
   
    至此,我们可以运行一下程序。你会发现我们已经简单地实现了利用硬盘序列号制作电子注册版软件的功能。


    摘要: rt ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE