版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C+輔導(dǎo):用C+Builder設(shè)定程序使用時間愛護(hù)方法本文介紹4種利用C+Builder實(shí)現(xiàn)的愛護(hù)方法:利用注冊表限制程序使用的天數(shù),比方限制使用30天;利用注冊表限制程序使用的次數(shù),比方限制使用45次;設(shè)定程序使用的截止日期,比方設(shè)截止日期為2022年8月31日;限制每次使用程序的時間,比方一次允許使用50分鐘。這些愛護(hù)方式既可以單獨(dú)使用,也可以幾個同時使用實(shí)現(xiàn)綜合愛護(hù)。編程思路方法1和方法2在程序主窗體的OnCreate大事過程中,定義注冊表TRegistry類對象指針Reg:TRegistry 大Reg = new TRegistry;通過其屬性RootKey定位注冊表根鍵,如:Reg
2、RootKey = HKEY_USERS;可依據(jù)需要選擇利用OpenKey方法翻開根鍵下的一個自定義主鍵,例如:RegOpenKey( .DEFAULTMyprogramRecords , false)假設(shè)該主鍵不存在(即首次運(yùn)行本程序時),需要利用CreateKey ()方法創(chuàng)立該主鍵,并將其翻開,寫入子鍵及鍵值如下:/ “Count鍵值記錄本程序運(yùn)行次數(shù)Reg WriteInteger( Count ,1);/ “Flag鍵值記載本程序使用是否有過期的記錄Reg WriteInteger( Flag,0);/ “First鍵值記錄首次運(yùn)行本程序的日期Reg WriteDate( First
3、,Date();/ “Last鍵值記錄上一次運(yùn)行本程序的日期Reg WriteDate( Last,Date();通過對“First鍵值的讀取獲得首次運(yùn)行程序時的日期,再與系統(tǒng)當(dāng)前的日期進(jìn)展比擬,推斷是否超過指定的天數(shù)而打算是否終止程序的運(yùn)行,從而實(shí)現(xiàn)使用天數(shù)的限制。通過對“Count鍵值的讀取獲得程序使用的次數(shù),推斷是否超過指定的次數(shù)而打算是否終止程序的運(yùn)行,以實(shí)現(xiàn)使用次數(shù)的限制。此外,通過讀取“Flag鍵值可以了解程序是否有過期記錄,其值為1表示程序使用已經(jīng)過期;讀取“Last鍵值可以取得上一次使用本程序的日期。假如經(jīng)過推斷沒有超過規(guī)定的使用期限,則更新“Count和“Last的鍵值:使用
4、次數(shù)加1Reg WriteInteger( Count , Reg ReadInteger( Count )+ 1);/重新寫入當(dāng)前日期Reg WriteDate( Last,Date();方法3直接在主窗體的OnCreate大事過程中推斷當(dāng)前日期是否超過預(yù)定的截止日期,打算是否終止程序運(yùn)行。方法4利用一個時間組件,在它的OnTimer大事過程中隨時檢測本次程序運(yùn)行的時間(從程序啟動到當(dāng)前)是否超過預(yù)設(shè)的時間,從而打算是否終止程序的運(yùn)行。詳細(xì)實(shí)現(xiàn)限制使用天數(shù)(如30天)在主窗體的OnCreate大事過程中參加代碼推斷程序的使用是否超過30天,假設(shè)是,則終止程序運(yùn)行并記錄“Flag鍵值為1。當(dāng)前
5、系統(tǒng)日期由VCL庫函數(shù)Date()獵取。主要代碼如下:定義日期型對象TDate firstDate, currentDate;獵取首次運(yùn)行程序日期firstDate=Reg ReadDate( First );獵取首次運(yùn)行程序日期currentDate=Date();if(currentDate.Val firstDate.Val 30)Application MessageBox(本程序使用已經(jīng)超過30天! n將要關(guān)閉程序.,“結(jié)果,MB_OK);Reg WriteInteger( Flag ,1);/終止程序運(yùn)行Application Terminate();限制使用次數(shù)(如45次)在主窗
6、體的OnCreate大事過程中參加代碼推斷程序的使用是否超過45次,假設(shè)是,則終止程序運(yùn)行并記錄“Flag鍵值為1。主要代碼如下:if(RegReadInteger( Count) 45)Application MessageBox(本程序使用已經(jīng)超過了 45次! n程序馬上關(guān)閉.,“結(jié)果,MB_OK);Reg WriteInteger( Flag ,1);Application Terminate(); 3.設(shè)置使用截止日期(如截止日期為2022年8月31日)該方法不需要修改注冊表,在主窗體的OnCreate大事過程中參加如下代碼即可:定義日期型變量(對象)TDate endDate, cu
7、rrentDate;設(shè)置日期分隔符DateSeparator = 一 ;設(shè)置日期表達(dá)格式ShortDateFormat = yyyy/mm/dd ;currentDate=Date();日期轉(zhuǎn)換endDate二StrToDate( “2022 08 31 );if(currentDate.Val endDate.Val)Application MessageBox(已經(jīng)超過期限,本程序已不能使用!n將要關(guān)閉程序.,“結(jié)果,MB_OK);file:/Reg WriteInteger( Flag ,1);Application Terminate();限制每次使用的時間(如限用50分鐘)該方法不需
8、要修改注冊表,在一個TTimer組件的OnTimer大事過程中,隨時檢測系統(tǒng)當(dāng)前時間與程序的啟動時間之間是否超過50分鐘即可。其中程序的啟動時間可以在主窗體的OnCreate大事過程中取得,這需要定義日期時間型全局變量startDateTime和currentDateTime:TDateTime startDateTime, currentDateTime;為獲得程序的啟動時間,在主窗體的OnCreate大事過程中參加如下代碼:startDateTime = Now();在時間組件的OnTimer大事過程中參加以下代碼:currentDateTime=Now();if(currentDateT
9、ime.Val startDateTime.Val 50.0/(60 大 24)計(jì)時器停頓計(jì)時,等待消息框關(guān)閉Timerl Enabled = false;Application MessageBox(本次程序已經(jīng)運(yùn)行了 50分鐘! n將要關(guān)閉程序.,“結(jié)果,MB_OK);關(guān)閉程序Close();幾點(diǎn)說明1 .可以將注冊表根鍵定位為其他的鍵(參見圖1),其主鍵的定義應(yīng)具有“共性化,也可以利用已有的主鍵,層次可以多些,這樣隱藏性更好,能限度地愛護(hù)應(yīng)用程序。為了防止倒撥系統(tǒng)時鐘至上一次使用程序的日期之前,通過讀取“Last鍵值可以對此進(jìn)展檢測和處理,代碼如下:TDate lastDate, currentDate;獲得上一次運(yùn)行本程序的日期lastDate = Reg ReadDate( Last );currentDate = Date();if(currentDate.ValMessageBox(系統(tǒng)時鐘的日期已被回?fù)埽?n本程序馬上關(guān)閉.,“結(jié)果,MB_OK);Reg WriteInteger( Flag ,1);終止程序的運(yùn)行Application Terminate();旦“Flag鍵值為1,說明程序已經(jīng)過期,可用以下代碼限制再次運(yùn)行程序:if(RegReadInteg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全新公司合同擔(dān)保協(xié)議下載
- 借貸居間合同
- 食品檢測服務(wù)合同
- 吊車施工合同
- 個人借款給企業(yè)的合同范文
- 污水處理廠運(yùn)維合同履約承諾書
- 基于線性材料插值的超彈性結(jié)構(gòu)拓?fù)鋬?yōu)化方法研究
- 多參量智能光纖傳感系統(tǒng)研究
- 列車軸裝通風(fēng)式制動盤流量特性的數(shù)值研究
- 開放世界中的目標(biāo)感知與多任務(wù)決策方法研究
- 高考模擬作文“文化自信:春節(jié)走向世界”導(dǎo)寫+范文3篇
- 蘇教版三年級下冊數(shù)學(xué)計(jì)算能手1000題帶答案
- 改善護(hù)理服務(wù)行動計(jì)劃總結(jié)報(bào)告
- 湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試參考試題庫(含答案)
- 第2課+古代希臘羅馬(教學(xué)設(shè)計(jì))-【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 中儲糧蘭州公司考試筆試題庫
- 焊接機(jī)器人在汽車制造中應(yīng)用案例分析報(bào)告
- 重建成長型思維課件
- 電捕焦油器火災(zāi)爆炸事故分析
- 質(zhì)量問題分析及措施報(bào)告
- 汽修廠安全風(fēng)險(xiǎn)分級管控清單
評論
0/150
提交評論