using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace XdCxRhDW.Sender { public static class IniFiles { [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); /// /// 读取INI文件 /// /// 项名称(如 [TypeName] ) /// 键 public static string ReadValue(string iniFile, string section, string Key, string defaultValue = "") { if (!iniFile.Contains(":")) iniFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, iniFile); StringBuilder temp = new StringBuilder(50); GetPrivateProfileString(section, Key, defaultValue, temp, 500, iniFile); return temp.ToString(); } /// /// 读取INI文件 /// /// 项名称(如 [TypeName] ) /// 键 public static T ReadValue(string iniFile, string section, string Key, T defaultValue = default) { var strValue = ReadValue(iniFile,section,Key); if (string.IsNullOrWhiteSpace(strValue)) return defaultValue; var obj = Convert.ChangeType(strValue, typeof(T)); return (T)obj; } } }