標籤:bottom kernel32 div 檔案的 byte 索引值 ini檔案 otto class
設定檔 為fileName.ini 的檔案
第一行必須為空白,不然讀不出值
[section1]key=valuekey2=value.........[section2]key=valuekey2=value.........
代碼如下:
using System;using System.Runtime.InteropServices; using System.Text;namespace Test{ /// <summary> /// INI檔案的操作類 /// </summary> public class IniFile { public string Path; public IniFile(string path) { this.Path = path; } #region 聲明讀寫INI檔案的API函數 [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string defVal, Byte[] retVal, int size, string filePath); #endregion /// <summary> /// 寫INI檔案 /// </summary> /// <param name="section">段落</param> /// <param name="key">鍵</param> /// <param name="iValue">值</param> public void IniWriteValue(string section, string key, string iValue) { WritePrivateProfileString(section, key, iValue, this.Path); } /// <summary> /// 讀取INI檔案 /// </summary> /// <param name="section">段落</param> /// <param name="key">鍵</param> /// <returns>返回的索引值</returns> public string IniReadValue(string section, string key) { StringBuilder temp = new StringBuilder(255); int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path); return temp.ToString(); } /// <summary> /// 讀取INI檔案 /// </summary> /// <param name="Section">段,格式[]</param> /// <param name="Key">鍵</param> /// <returns>返回byte類型的section組或索引值組</returns> public byte[] IniReadValues(string section, string key) { byte[] temp = new byte[255]; int i = GetPrivateProfileString(section, key, "", temp, 255, this.Path); return temp; } }}
C# 讀取Ini設定檔類