using System; using System.Runtime.InteropServices; using System.Text; namespace HalconTools { public class IniTool { private const int BUFF_LEN = 0x100; private static string iniFileName = (AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Setting.INI"); public IniTool(string strIniFileName) { iniFileName = strIniFileName; } public static string GetIniSection(string lpszSection) { StringBuilder lpReturnedString = new StringBuilder(0x100); uint num = GetPrivateProfileSection(lpszSection, lpReturnedString, lpReturnedString.Capacity, iniFileName); return lpReturnedString.ToString(); } public static string GetIniString(string lpszSection, string lpszEntry) { string lpDefault = null; StringBuilder lpReturnedString = new StringBuilder(0x100); uint num = GetPrivateProfileString(lpszSection, lpszEntry, lpDefault, lpReturnedString, Convert.ToUInt32(lpReturnedString.Capacity), iniFileName); return lpReturnedString.ToString(); } public static string GetIniString(string lpszSection, string lpszEntry, string lpszDefault) { StringBuilder lpReturnedString = new StringBuilder(0x100); uint num = GetPrivateProfileString(lpszSection, lpszEntry, lpszDefault, lpReturnedString, Convert.ToUInt32(lpReturnedString.Capacity), iniFileName); return lpReturnedString.ToString(); } [DllImport("kernel32")] private static extern uint GetPrivateProfileSection(string lpAppName, StringBuilder lpReturnedString, int nSize, string lpFileName); [DllImport("kernel32.dll")] private static extern uint GetPrivateProfileString(string lpApplicationName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, uint nSize, string lpFileName); public static bool SetIniSection(string lpszSection, string lpszString) { return (WritePrivateProfileSection(lpszSection, lpszString, iniFileName) > 0); } public static bool SetIniString(string lpszSection, string lpszEntry, string lpszString) { return (WritePrivateProfileString(lpszSection, lpszEntry, lpszString, iniFileName) > 0); } [DllImport("kernel32")] private static extern uint WritePrivateProfileSection(string lpAppName, string lpString, string lpFileName); [DllImport("kernel32.dll")] private static extern uint WritePrivateProfileString(string lpAppName, string lpEntryName, string lpEntryString, string lpFileName); } }