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