??????app.config??????????????£?
<configuration>
<appSettings>
<add key="ConStringEncrypt" value="false" />
<add key="ConnectionString" value="Server=localhost;Database=testmysql;User=root;Password=xiaowei;Port=3306;Charset=utf8" />
</appSettings>
</configuration>
?????????????д?????????????????????????????????????????
static class Program
{
/// <summary>
/// ??ó??????????
/// </summary>
[STAThread]
static void Main()
{
// ?????????????
string ConStringEncrypt = ConfigurationManager.AppSettings["ConStringEncrypt"];
string _connectionString = ConfigurationManager.AppSettings["ConnectionString"];
if (ConStringEncrypt == "false")
{
_connectionString = DESEncrypt.Encrypt(_connectionString);
// д??config?????
SetValue(Application.ExecutablePath + ".config"??  "ConStringEncrypt"?? "true");
SetValue(Application.ExecutablePath + ".config"??  "ConnectionString"?? _connectionString);
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormMain());
}
}
public static void SetValue(string configPath?? string AppKey?? string AppValue)
{
XmlDocument xDoc = new XmlDocument();
//?????????????·????????
xDoc.Load(configPath);
XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
if (xElem1 != null) xElem1.SetAttribute("value"?? AppValue);
else
{
xElem2 = xDoc.CreateElement("add");
xElem2.SetAttribute("key"?? AppKey);
xElem2.SetAttribute("value"?? AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(configPath);
}
}