国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

巧用VB數據庫,編寫軟件試用期

2024-07-21 02:20:41
字體:
來源:轉載
供稿:網友
現在是網絡時代了,相信有許多的網蟲們必和我一樣,經常的遨游于網絡之中,時常還貪一些小便宜,down一些免費實用的好東東下來,盡情的享受網絡帶給我們的免費快餐.然而美中不足的是,有些軟件,說是免費的,其實都有他們的試用期,即給你一個固定的期限免費使用,一旦超出一定的期限如果你堅決拒付使用費的話,呵呵,那個軟件就不能啟動了.無疑,這是那些軟件推銷
商們的一種促銷的手法而已.一般的人都只能望之而興嘆,而有寫小聰明的人,會試著修改系統的日期或是注冊表,企圖縮短已使用的時間.呵呵,就象我,誰知道天外有天,軟件開發商們早知道你有這招,當你修改了日期后,軟件通常可以檢測出來,通知你不可以修改系統日期,否則不能正常使用.如大名鼎鼎的dreamwaver,有些小聰明的我(其實笨的很了)也不得不翹起大拇指,說:"高,實在是高!"所以一旦到了軟件的試用期,再好的東東也不得不舍棄了,或是重新down一個下來.(有時再down也不可用)知道了這,你難道不想也來個"試用期"裝點一下我們自己開發的程
序?也讓別人向我們翹一下大拇指?什么,太難?不難不難,我,呵呵,已經閉門修煉了幾日,終于研究成功了不修改注冊表,巧用vb數據庫,編寫軟件使用期的方法.
好了,不賣關子了,就開始我的心得大法吧,不過首先,還是先講講我的思路:

a: 應有的功能:

1) 給定一個試用期限,在系統每次啟動時會判斷軟件已經使用了幾天,還有幾天可用以及啟動的次數.

2) 當系統日期被修改成往日的日期后,系統能自動判別,禁止修改日期,不于正常啟動.

3) 當試用期到,顯示信息,不于啟動程序.b:簡單的思路


1) 在系統第一次運行時,在一個隱蔽的地方(如: c:/windows/system)建立一個用以記錄系統信息的數據庫文件,如date.mdb,使用一張表date,有三個字段first_time,last_time和times.其中first_time為系統第一次啟動時的日期,即試用期的第一天.last_time為系統最近一次啟動的時間,而times為記錄系統啟動的次數.

2) 系統每次啟動會檢測當前的日期同last_time做比較,如果當前的日期(如00/09/30)比last_time(如00/10/01)還舊,說明系統的日期被推后,顯示信息,不于啟動系統.反之,則轉入第三步.

3) 取出數據庫中的first_time,同當前的日期做減法運算,看所的的天數是否在使用期限內.如果在,則轉入第四步,否則顯示信息,不于啟動系統.

4) 修改數據庫的last_time字段為當前的日期,顯示系統已經使用的情況,正常啟動系統.

好了,羅羅嗦嗦講了一大統,我想,大家一定都明白了,怎么樣,我說不難吧,根本不用修改系統的注冊表.只要大家把date.mdb藏好了,不被發現就萬事大吉了.而且你可以給這個數據庫加上密碼,然后把first_time,last_time,times的字段名改個面目全非,就算有高手發現了數據庫,破解了密碼,他也不知道這三個字段的含義和這個數據庫是那個軟件所帶的文件,呵呵,不說了,還是看看我的源碼吧:

在您的工程中,請以sub main()啟動程序.(什么,怎么設置,呵呵,"工程"==>"工程屬性"==>"啟動窗體")


sub main()
on error goto error
'系統檢測是否有date.mdb文件,如果沒有,則是系統第一次啟動,則建立之
if dir("c:/windows/system/date.mdb") = "" then

'注意在開始,您要確定您的工程引用了microsoft dao 2.5/3.5 compatibility library 在"工程"==>"引用"中.

dim ws as workspace
dim db as database
dim td as tabledef
dim fld as field
dim idx as index
dim rd as recordset
set ws = dbengine.workspaces(0)
set db = ws.createdatabase("c:/windows/system/date.mdb", dblanggeneral)
db.connect = ";pwd=andy"
set td = db.createtabledef("date")
td.attributes = 0
td.connect = ""
td.sourcetablename = ""
td.validationrule = ""
td.validationtext = ""
' field first_time
set fld = td.createfield("first_time", 8, 8)
fld.attributes = 1
fld.defaultvalue = ""
fld.ordinalposition = 0
fld.required = false
fld.validationrule = ""
fld.validationtext = ""
td.fields.append fld
' field last_time
set fld = td.createfield("last_time", 8, 8)
fld.attributes = 1
fld.defaultvalue = ""
fld.ordinalposition = 1
fld.required = false
fld.validationrule = ""
fld.validationtext = ""
td.fields.append fld
' field times
set fld = td.createfield("times", 3, 2)
fld.attributes = 1
fld.defaultvalue = ""
fld.ordinalposition = 2
fld.required = false
fld.validationrule = ""
fld.validationtext = ""
td.fields.append fld
db.tabledefs.append td
db.close
set db = ws.opendatabase("c:/windows/system/date.mdb")
set rd = db.openrecordset("date")
with rd
.addnew
.fields("first_time") = date
.fields("last_time") = date
.fields("times") = 1
.update
end with

db.close
msgbox "這是您第一次啟動本系統!您的試用期為30天,今天是第一天.謝謝使用!", 48, "天華電腦藝術創意工作室"

'效果如圖1 (見附件1)

mainform.show '啟動您的主窗體



else '系統有date.mdb文件,則不是第一次運行,就不用建立數據庫文件了.

dim ws2 as workspace
dim db2 as database
dim rd2 as recordset
set ws2 = workspaces(0)
set db2 = ws2.opendatabase("c:/windows/system/date.mdb", pwd = "springlover")
set rd2 = db2.openrecordset("date")
'開始檢測用戶是否修改了系統日期
rd2.movefirst
if rd2.fields("last_time") > date then
msgbox "對不起,您在本軟件的試用期內不可以修改系統日期,否則將取消您對不系統的試用權.如果您想繼續使用本軟件,請您恢復系統日期.謝謝合作!", 48, "天華電腦藝術創意工作室"

'效果如圖3 (見附件3)

end
end if

'開始檢測是否超期

if date - rd2.fields("first_time") >= 30 then '設定試用期為30天
msgbox "您已經啟動本系統" & rd2.fields("times") & "次了,而且已經到了30天的試用期,如果您想繼續使用本軟件,請您到本公司注冊并購買正版的軟件!", 48, "天華電腦藝術創意工作室"

'效果如圖4 (見附件4)

end

else

'仍在試用期內
num% = rd2.fields("times")
rd2.edit
rd2.fields("last_time") = date
rd2.fields("times") = num + 1
rd2.update

msgbox "這是您第" & rd2.fields("times") & "次使用本系統,您還有" & 30 - (date - rd2.fields("first_time")) & "天的試用期,祝您今天工作愉快!", 48, "天華電腦藝術創意工作室"

'效果如圖2 (見附件2)

mainform.show '啟動您的主窗體


end if





end if
exit sub
error:
msgbox "系統錯誤!"

end sub

好了,終于編寫完了我們的軟件試用期的問題,怎么樣,不難吧,而且不用修改注冊表信息,所以一般的高手會想到到注冊表去修改或是恢復最初的注冊表,但這都是無濟于事的,而且我的這種方法還有一個重要的特點就是只能安裝本系統一次,因為當其卸載了原來的程序,想從新安裝的時候,呵呵,因為date.mdb仍然存在,所以就真正的控制了只能安裝一次,使用30天的期限,是不是比dreamwaver還要酷.如果想重新安裝,只要附加一個小程序,刪除那個數據庫文件即可.如果您使用這種方法,再結合注冊表,我想效果一定更佳,呵呵,好了,就這樣,等你有了更好更妙的方法別忘了寫信告訴我:[email protected]

  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 高碑店市| 小金县| 汕尾市| 紫阳县| 永川市| 临沂市| 揭东县| 云龙县| 喀喇| 灵台县| 黄平县| 罗定市| 霍邱县| 昌黎县| 大方县| 五莲县| 宁都县| 榆中县| 漠河县| 岫岩| 黎城县| 阿合奇县| 溆浦县| 和田县| 石楼县| 大城县| 卢湾区| 图们市| 石屏县| 南江县| 金寨县| 正安县| 平陆县| 乌鲁木齐县| 蚌埠市| 泸西县| 隆回县| 湘潭市| 东乡县| 灌阳县| 五莲县|