class SetupSystemParam
{
public static int i_Com; //串口号
public static int i_BaudRate; //波特率
public static string str_Parity; //校验位
public static int i_DataBits; //数据位
public static int i_StopBits; //停止位
public SetupSystemParam()
{
if (!System.IO.File.Exists("SystemParam.ini"))
{
CreateDefaultIniFile();
}
else
{
try
{
i_Com = Convert.ToInt32(ReadIniString("系统参数", "串口号"));
i_BaudRate = Convert.ToInt32(ReadIniString("系统参数", "波特率"));
str_Parity = ReadIniString("系统参数", "校验位");
i_DataBits = Convert.ToInt32(ReadIniString("系统参数", "数据位"));
i_StopBits = Convert.ToInt32(ReadIniString("系统参数", "停止位"));
}
catch
{
//MessageBox.Show("配置文件的参数有错误,请检查", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void CreateDefaultIniFile()
{
WriteIniString("系统参数", "串口号", "1");
WriteIniString("系统参数", "波特率", "2400");
WriteIniString("系统参数", "校验位", "Even");
WriteIniString("系统参数", "数据位", "8");
WriteIniString("系统参数", "停止位", "1");
//
i_Com = 1;
i_BaudRate = 2400;
str_Parity = "Even";
i_DataBits = 8;
i_StopBits = 1;
}
public static void SaveIniFile()
{
WriteIniString("系统参数", "串口号", i_Com.ToString());
WriteIniString("系统参数", "波特率", i_BaudRate.ToString());
WriteIniString("系统参数", "校验位", str_Parity);
WriteIniString("系统参数", "数据位", i_DataBits.ToString());
WriteIniString("系统参数", "停止位", i_StopBits.ToString());
}
#region 引用WINDOWS API函数
//声明INI文件的写操作函数 WritePrivateProfileString()
[DllImport("kernel32")]
private static extern bool WritePrivateProfileString(string section, string key, string val, string filePath);
//声明INI文件的读操作函数 GetPrivateProfileString()
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath);
#endregion
#region Ini文件操作
public static string ReadIniString(string section, string key)
{
int buffer = 6000;
StringBuilder temp = new StringBuilder(buffer);
GetPrivateProfileString(section, key, "", temp, buffer, Application.StartupPath + "\\SystemParam.ini");
return temp.ToString();
}
public static void WriteIniString(string section, string key, string val)
{
WritePrivateProfileString(section, key, val, Application.StartupPath + "\\SystemParam.ini");
}
#endregion
}
切记:必须创建对象否则读取始终为0或null。
static void Main()
{
SetupSystemParam SS = new SetupSystemParam();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormComm());
}