历史上,Windows程序和操作系统用预制(INI)文件来保存程序设置以及其它信息。当Windows 98出现之后,注册表接管了这项任务。然而,有些时候我们用INI文件来存储程序设置信息显得更为合适。
INI文件是一种分为若干段的文本文件;每一段都包含若干了“关键字-值”对。这里有一个例子:
[section1]
key1 = value1
key2 = value2
[section2]
key1 = value1
key2 = value2
INI文件的每个条目都可以通过它所在的段和关键字名来识别出来。你的程序可以用两个API函数来读写INI文件:
Private Declare Function GetPrivateProfileString
_
Lib "kernel32" Alias "GetPrivateProfileStringA"
_
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString _
Lib "kernel32" Alias "WritePrivateProfileStringA"
_
(ByVal lpApplicationName As String, ByVal lpKeyName _
As Any, ByVal lpString As Any, ByVal lpFileName As _
String) As Long
这两个函数的返回值都是0或者1,0表示操作失败,1表示成功。在某些情况下,例如你试图写某个目录下的INI文件,而你没有对该目录进行写操作的权限,那么就会操作会失败。这两个函数的参数如下:
当你对INI文件进行写操作,如果段和关键字已经存在时,那么当前值就会被新写入的值所替代;如果段或者关键字不存在,则创建新的段或者关键字。当进行读操作时,你要么得到保存在INI文件中的条目值(当你读取的条目存在时),要么得到传递给GivePrivateProfileString参数的默认值(当你读取的条目不存在时)。如果INI文件不存在,那么也返回默认值。