using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace Mesnac.Basic { public class Win32Tool { #region 定义外部函数 /// /// Ini文件写入 /// /// 写入ini文件的某个小节名称(不区分大小写) /// 上面section下某个项的键名(不区分大小写) /// 上面key对应的value /// ini的文件名,包括其路径(example: "c:\config.ini")。如果没有指定路径,仅有文件名,系统会自动在windows目录中查找是否有对应的ini文件,如果没有则会自动在当前应用程序运行的根目录下创建ini文件 /// [DllImport("kernel32")] public static extern long WritePrivateProfileString(string section, string key, string val, string filePath); /// /// Ini文件读取 /// /// 某个小节名(不区分大小写),如果为空,则将在retVal内装载这个ini文件的所有小节列表 /// 欲获取信息的某个键名(不区分大小写),如果为空,则将在retVal内装载指定小节下的所有键列表 /// 当指定信息,未找到时,则返回def,可以为空 /// 一个字串缓冲区,所要获取的字符串将被保存在其中,其缓冲区大小至少为size /// retVal的缓冲区大小(最大字符数量) /// 指定的ini文件路径,如果没有路径,则在windows目录下查找,如果还是没有则在应用程序目录下查找,再没有,就只能返回def了 /// 返回所取信息字符串的字节长度 [DllImport("kernel32")] public static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); #endregion } }