C#使用WINAPI進行讀取寫入配置文件
對ini文件讀寫我們可以使用Kernel32.dll中的WritePrivateProfileString(寫入),GetPrivateProfileString(讀入字符串),GetPrivateProfileInt(讀入整型值)三個方法。下面我介紹著三個使用WINAPI進行讀取寫入配置文件的方法
一.將信息寫入.INI文件中.
1.所用的WINAPI函數為:WritePrivateProfileString
Code
- [DllImport("Kernel32.dll")]
- publicstaticexternboolWritePrivateProfileString(stringstrAppName,
- stringstrKeyName,
- stringstrString,
- stringstrFileName);
其中各參數的意義:
stringstrAppName,是INI文件中的一個字段名.
stringstrKeyName,是strAppName下的一個鍵名,通俗講就是變量名.
stringstrString,是鍵值,也就是變量的值(string類型的)
stringstrFileName是完整的INI文件路徑名.
2.具體使用方法:設我有一個網頁刷新器.我要保存我設置的網頁(URL),和間隔時間(time)
- WritePrivateProfileString("Settings","Url","http://wenti.cnblogs.com","c:\\config.ini");
- WritePrivateProfileString("Settings","Time","20","c:\\config.ini");
保存的ini文件中的內容如下:
- [Settings]
- Url=http://wenti.cnblogs.com
- Time=20
二.將信息從INI文件中讀入程序中的變量.
1.所用的WINAPI函數原型為:
Code
- [DllImport("Kernel32.dll")]
- publicstaticexternintGetPrivateProfileString(stringstrAppName,
- stringstrKeyName,
- stringstrDefault,
- StringBuildersbReturnString,
- intnSize,
- stringstrFileName);
其中各參數的意義:
前二個參數與WritePrivateProfileString中的意義一樣.
strDefault:如果INI文件中沒有前兩個參數指定的字段名或鍵名,則將此值賦給變量.
strReturnedString:接收INI文件中的值的string對象,即目的緩存器.
nSize:目的緩存器的大小.
strFileName:是完整的INI文件路徑名.
2.具體使用方法:現要將上一步中寫入的信息讀入程序中.
- StringBuildersb=newStringBuilder(256);
- GetPrivateProfileString("Settings","Url","http://",sb,256,c:\\config.ini");
- GetPrivateProfileString("Settings","Time","10",sb,256,c:\\config.ini");
執行后sb的值為:" 3.讀入整型值要用另一個WINAPI函數: Code 這里的參數意義與上相同.使用方法也相同。C#使用WINAPI進行讀取寫入配置文件就介紹到這里。