最近在寫的一個小程序中有個配置文件,這個文件對整個程序來說是至關重要的,如果它被刪除或者改寫的話,整個程序無法運行,或者運行后無法關閉。所以我一直在尋找如果讓手工無法改寫文件的方法。
對于“刪除”來說是很容易解決的,程序中查找配置文件的路徑,若為空則創建,并給些默認值。VB的示例代碼如下:
1
2
3
4
5
6
7
8
|
FileName = App.Path + "\CONFIG" '如果文件不存在,則創建文件 If Dir(FileName) = "" Then Open FileName For Output As #1 '打開順序文件,我們可以使用Open語句 a = Encode( "123" ) + vbCrLf + "10" + vbCrLf 'vbCrLf為回車 Print #1, a '寫數據 Close #1 '關閉文件 End If |
對于手工改寫配置文件,我一直無能為力,我試圖在程序中把該文件隱藏掉。VB的示例代碼如下:
1
|
SetAttr FileName, vbSystem Or vbHidden '隱藏文件 |
但終歸來說是治標不治本,文件仍然會被改寫的。然后我想到修改配置文件后綴法,讓人手工沒那么容易打開文件,但是總是有方法打開的。最終讓我想到一個簡單的解決方法是,在程序中先打開配置文件,之后手工就無法打開了。VB的示例代碼如下:
1
|
Open FileName For Binary As #99 |
只是記得程序在改寫該文件時要先關閉打開的文件,不然改寫會失敗的。VB的示例代碼如下:
1
|
Close #99 '關閉文件 |
總結一下,防止文件被改寫的簡單實現方式就是在程序中先打開該文件。
以上所述就是本文的全部內容了,希望大家能夠喜歡。