經過摸索,筆者利用VB也簡單地制作了一個電子注冊版軟件。
設計原理
利用API中的“GetVolumeInformation”函數提取使用者機器的硬盤序列號為特征碼,注冊時提交此碼,經過軟件著作權人加以運算,給出注冊碼,最后軟件使用人輸入注冊碼完成整個注冊過程(為使說明簡單,本例中以特征碼減101做為注冊碼)。
新建一模塊文件
新建一模塊文件,并將如下聲明的語句和常量添加到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 |
至此,我們可以運行一下程序。你會發現我們已經簡單地實現了利用硬盤序列號制作電子注冊版軟件的功能。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/
領測軟件測試網最新更新
關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月