思路是:
在金昌等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站制作,金昌網(wǎng)站建設(shè)費(fèi)用合理。
讀取電腦硬件的信息,用隨機(jī)數(shù)加工這些信息后在注冊表中做個記錄,用這個記錄生成注冊碼送回給你,你按特定的方法生成序列號,你的小程序收到序列號后還原成數(shù)據(jù),數(shù)據(jù)比較注冊表中的記錄,如果正確就加入第二部分注冊的信息完成注冊.你的程序每次打開時,先比對硬件信息-第一注冊信息-第二注冊信息,看這三者是否統(tǒng)一,不統(tǒng)一的就是使用期軟件.
也可以省了第一注冊信息,直接發(fā)硬件信息給你生成序列號,其他的相同.
Private Function 硬盤序列號() As String
Try
Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 1\Target Id 0\Logical Unit Id 0")
硬盤序列號 = Trim(myInfo.GetValue("SerialNumber"))
Catch
Try
Dim myInfo As Microsoft.Win32.RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey("HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 1\Target Id 0\Logical Unit Id 0")
硬盤序列號 = Trim(myInfo.GetValue("SerialNumber"))
Catch
硬盤序列號 = ""
End Try
End Try
End Function
只在我的電腦上試過,你試下
注冊碼很好做啊 利用現(xiàn)在成熟的加密解密技術(shù) 很不容易破解的 但現(xiàn)在的.net時代 問題的關(guān)鍵不在這里 而是在如何加密自己的軟件不讓反編譯 看看現(xiàn)在的.net軟件 就算使用了亂碼器 都好容易被反編譯出來 只要被反編譯 就會刪掉你程序的注冊功能部分 然后再重新編譯 就可以無需注冊正常使用了 根本就不用去破解你那深奧的注冊碼!
最簡單的一個是,在啟動窗體中,加入一行代碼:if inputbox("請輸入注冊碼","注冊",123") “123456” then end'這個是說,如果輸入的不是123456,就退出程序,正確后就向下執(zhí)行。如果要注冊碼與用戶名相結(jié)合,則要先用用戶名作為種子,進(jìn)行加密操作,生成一個注冊碼,成一一對應(yīng)關(guān)系就行了。如用戶名為abc,代碼如下:dim a as string,b as string,i as integer,k as integera=inputbox("請輸入用戶名","注冊用戶")for i = 1 to len(a)b=b str(asc(mid(a,i,1)))next ib=6 bif b-int(len(b)/2)*2 = 1 then b = b 4text1 = "用戶名是:" aa=""for i = 1 to len(b) step 2if mid(b,i,2)32 then a=a str(mid(b,i,2)+32) else if mid(b,i,2) 126 then a=a str(mid(b,i,2)-32) else a=a str(mid(b,i,2)) end ifend if next itext1 = text1 " 注冊碼是: " a這樣就可以了