VB簡(jiǎn)單實(shí)現(xiàn)防止文件被改寫(xiě)
最近在寫(xiě)的一個(gè)小程序中有個(gè)配置文件,這個(gè)文件對(duì)整個(gè)程序來(lái)說(shuō)是至關(guān)重要的,如果它被刪除或者改寫(xiě)的話,整個(gè)程序無(wú)法運(yùn)行,或者運(yùn)行后無(wú)法關(guān)閉。所以我一直在尋找如果讓手工無(wú)法改寫(xiě)文件的方法。
對(duì)于“刪除”來(lái)說(shuō)是很容易解決的,程序中查找配置文件的路徑,若為空則創(chuàng)建,并給些默認(rèn)值。VB的示例代碼如下:
FileName = App.Path + "\CONFIG" '如果文件不存在,則創(chuàng)建文件 If Dir(FileName) = "" Then Open FileName For Output As #1 '打開(kāi)順序文件,我們可以使用Open語(yǔ)句 a = Encode("123") + vbCrLf + "10" + vbCrLf 'vbCrLf為回車(chē) Print #1, a '寫(xiě)數(shù)據(jù) Close #1 '關(guān)閉文件 End If
對(duì)于手工改寫(xiě)配置文件,我一直無(wú)能為力,我試圖在程序中把該文件隱藏掉。VB的示例代碼如下:
SetAttr FileName, vbSystem Or vbHidden '隱藏文件
但終歸來(lái)說(shuō)是治標(biāo)不治本,文件仍然會(huì)被改寫(xiě)的。然后我想到修改配置文件后綴法,讓人手工沒(méi)那么容易打開(kāi)文件,但是總是有方法打開(kāi)的。最終讓我想到一個(gè)簡(jiǎn)單的解決方法是,在程序中先打開(kāi)配置文件,之后手工就無(wú)法打開(kāi)了。VB的示例代碼如下:
Open FileName For Binary As #99
只是記得程序在改寫(xiě)該文件時(shí)要先關(guān)閉打開(kāi)的文件,不然改寫(xiě)會(huì)失敗的。VB的示例代碼如下:
Close #99 '關(guān)閉文件
總結(jié)一下,防止文件被改寫(xiě)的簡(jiǎn)單實(shí)現(xiàn)方式就是在程序中先打開(kāi)該文件。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
VB6實(shí)現(xiàn)連接Access數(shù)據(jù)庫(kù)的ADODB代碼實(shí)現(xiàn)方法
這篇文章主要介紹了VB6實(shí)現(xiàn)連接Access數(shù)據(jù)庫(kù)的ADODB代碼實(shí)現(xiàn)方法,對(duì)于初學(xué)者掌握VB鏈接access數(shù)據(jù)庫(kù)有著很好的借鑒價(jià)值,需要的朋友可以參考下2014-07-07VB讀取線程、句柄及寫(xiě)入內(nèi)存的API代碼實(shí)例
這篇文章主要介紹了VB讀取線程、句柄及寫(xiě)入內(nèi)存的API代碼實(shí)例,需要的朋友可以參考下2014-07-07VBA中連接SQLSERVER數(shù)據(jù)庫(kù)例子
這篇文章主要介紹了VBA中連接SQLSERVER數(shù)據(jù)庫(kù)例子,VBA是指Visual Basic for Applications,是Visual Basic的一種宏語(yǔ)言,需要的朋友可以參考下2014-07-07