對(duì)ini文件讀寫 我們可以使用Kernel32.dll 中的WritePrivateProfileString(寫入),GetPrivateProfileString(讀入字符串) ,GetPrivateProfileInt(讀入整型值)三個(gè)方法。下面我介紹著三個(gè)方法
1、將信息寫入.INI文件中.
(1)WINAPI函數(shù)為: WritePrivateProfileString
[DllImport("Kernel32.dll")]
public static extern bool WritePrivateProfileString(string strAppName,
string strKeyName,
string strString,
string strFileName);
其中各參數(shù)的意義:
string strAppName, 是INI文件中的一個(gè)字段名.
string strKeyName,是strAppName下的一個(gè)鍵名,通俗講就是變量名.
string strString,是鍵值,也就是變量的值(string類型的)
string strFileName 是完整的INI文件路徑名.
?。?)具體使用方法:設(shè)有一個(gè)網(wǎng)頁刷新器. 保存設(shè)置的網(wǎng)頁(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
2、將信息從INI文件中讀入程序中的變量.
(1)所用的WINAPI函數(shù)原型為:
[DllImport("Kernel32.dll")]
public static extern int GetPrivateProfileString(string strAppName,
string strKeyName,
string strDefault,
StringBuilder sbReturnString,
int nSize,
string strFileName);
其中各參數(shù)的意義:
前二個(gè)參數(shù)與 WritePrivateProfileString中的意義一樣.
strDefault : 如果INI文件中沒有前兩個(gè)參數(shù)指定的字段名或鍵名,則將此值賦給變量.
strReturnedString : 接收INI文件中的值的string對(duì)象,即目的緩存器.
nSize : 目的緩存器的大小.
strFileName : 是完整的INI文件路徑名.
?。?)具體使用方法:現(xiàn)要將上一步中寫入的信息讀入程序中.
StringBuilder sb = new StringBuilder(256);
GetPrivateProfileString("Settings", "Url", "http://", sb, 256,c://config.ini");
GetPrivateProfileString("Settings", "Time", "10", sb, 256,c://config.ini");
執(zhí)行后 sb的值為:"http://wenti.cnblogs.com",若前兩個(gè)參數(shù)有誤,其值為:"http://".
(3)讀入整型值要用另一個(gè)WINAPI函數(shù):
[DllImport("Kernel32.dll")]
public static extern int GetPrivateProfileInt(string strAppName,
string strKeyName,
int nDefault,
string strFileName);
新聞熱點(diǎn)
疑難解答