using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
namespace MeiDuShaV1.Business
{
public class INIManager
{
/*原型
* BOOL WritePrivateProfileString(
LPCTSTR lpAppName, //是INI檔案中的一個欄位名.
LPCTSTR lpKeyName, //是lpAppName下的一個鍵名,通俗講就是變數名.
LPCTSTR lpString, //是索引值,也就是變數的值,不過必須為LPCTSTR型或CString型的.
LPCTSTR lpFileName //檔案路徑
* );
*/
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
/* DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault, //如果INI檔案中沒有前兩個參數指定的欄位名或鍵名,則將此值賦給變數.
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
* ); */
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
private string filePath;
public INIManager(string filePath)
{
this.filePath = filePath;
}
public void Write(string section ,string key,string value)
{
try
{
WritePrivateProfileString(section, key, value, filePath);
}
catch(Exception ex)
{
throw new Exception(ex.ToString());
}
}
public string Read(string section ,string key)
{
try
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(section, key, string.Empty, temp, 255, filePath);
return temp.ToString();
}
catch(Exception ex)
{
throw new Exception(ex.ToString());
}
}
}
}
Code
1