1初始化文件的結構與特點
Windows應用程序初始化文件中通常設置應用程序的運行環境,確定應用程序變量的缺省設置,初始化文件既包含Windows本身的兩個INI文件,也包括應用程序的初始化文件。如:win.ini、system.ini、ucdos.ini、vb.ini等。
其中,ucdos.ini、 vb.ini分別為希望公司的UCDOS和Visual Basic的初始化文件,這些初始化文件一般都是由應用程序和關鍵詞構成,文件中內容的格式采用下面的通用格式:
[程序名稱]
關鍵詞=取值
例如,在system.ini中有一段內容設置非WINDOWS應用程序的字體,即:
〔Non WindowsApp〕
FontChangeEnable=1
其中,Non WindowsApp為應用程序名,FontChangeEnable為關鍵詞,1為取值。
2與初始化有關的API函數
Windows95中的動態鏈接庫Kernel.exe包含了六個函數,可以對INI文件進行操作,其中GetProfileInt、GetPrivateProfileInt、GetProfileString和GetPrivateString四個函數可以從INI文件中基于應用程序名和關鍵詞的行獲得信息。WritePrivateProfileString和WriteProfileString兩個函數可以在INI文件中修改或創建文件中的有關行。
在VB應用程序中應按下面的方式在全局模塊中進行聲明。
Declare Function GetProfilelnt Lib ″Kernel″ (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Integer) As Integer
Declare Function GetProfileString Lib ″Kernel″(ByVal lpAppName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedsring As String, ByVal nSize As lnteger) As Integer
Declare Function WriteProfileString Lib ″Kernel″(ByVal lpApplicationName As String, lpKeyName As Any, lpString As Any) As lnteger
Declare Function GetPrivateProfilelnt Lib ″Kernel″ (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As lnteger, Byval lpFileName As String) As lnteger
Declare Function GetPrivateProfileString Lib ″Kernel″(ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As String, ByVal nSize As Integer, Byval lpFileName As String) As Integer
Declare Function WriteProfileString Lib ″Kernel″(ByVal lpApplicationName As String, lpKeyName As Any, lpString As Any) As lnteger
其中:lpApplicationName$為應用程序名稱;
lpKeyName$為關鍵詞;
nDefault%為關鍵詞指定的缺省值;
lpFileName$為初始化文件名稱;
lpDefault$為關鍵詞指定的缺省字符串;
lpReturnString$為接受返回值指定字符的緩沖變量;
nSize%指定拷貝到緩沖變量的字符個數;
lpString$為新的關鍵詞指定字符串。
上面的聲明可以從VB目錄上的winapi中文件win32txt獲得,可以通過剪貼板直接拷貝到VB中。
3修改初始化文件實例
Windows軟件包程序管理器(PROGRAMEXE),初始化文件為PROGRAM.INI,缺省內容為
[Settings]
……
order=6 3 2 4 7 1
……
其中,order指定程序組的排列順序,下面的程序把Order的值改為“2 3 4 1 7 6 5”,并使用SHELL函數啟動程序管理器。
Private Sub form_Click()
lpAppName$ = ″Settings″
lpKeyName% = ″Order″
lpString$ = ″2 3 4 1 7 6 5 ″
lpFileName$ = ″progman.ini″
j% = WritePrivateProfileString(lpAppName$, lpKeyName$ =″Order″, lpString$ = ″2 3 4 1 7 6 5″, lpFileName$)
j% = Shell(″progman.exe″, 1)
End Sub
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/