//保存设置 private void SaveSetting() { int ProtectType=0; int Mode=1; if (File_cb.IsChecked==true) { ProtectType += 1; } if (Process_cb.IsChecked==true) { ProtectType += 2; } if (Register_cb.IsChecked==true) { ProtectType += 4; } if (Other_cb.IsChecked==true) { ProtectType += 8; } Mode =Convert.ToInt32(Grade_Slider.Value); Setting mysetting = new Setting(); mysetting.Mode = Mode; mysetting.ProtectType = ProtectType; XML_W_R.WriteSetting(mysetting,"Setting.xml"); RecoverSetting(); }
public static void WriteSetting(Setting settings,string FPath) { XmlDocument doc = new XmlDocument(); string strXML = ""; strXML = "<Ad-BAT xmlns=''>"; strXML += "<SETTING>"; strXML += "<MODE>" + settings.Mode.ToString() + "</MODE>"; strXML += "<TYPE>" + settings.ProtectType.ToString() + "</TYPE>"; strXML += "</SETTING>"; strXML += "</Ad-BAT>"; doc.LoadXml(strXML); doc.Save(FPath); }
//更新设置并设置监控 private void RecoverSetting() { Setting mysetting = new Setting(); mysetting = XML_W_R.ReadSetting("Setting.xml"); int Mode=mysetting.Mode; int ProtectType=mysetting.ProtectType; Grade_Slider.Value=Mode; //Set Mode switch (ProtectType) { case 0://无防护 { File_cb.IsChecked = false; Process_cb.IsChecked = false; Register_cb.IsChecked = false; Other_cb.IsChecked = false; break; } case 1://文件防护 { File_cb.IsChecked = true; Process_cb.IsChecked = false; Register_cb.IsChecked = false; Other_cb.IsChecked = false; break; } case 2://进程防护 { File_cb.IsChecked = false; Process_cb.IsChecked = true; Register_cb.IsChecked = false; Other_cb.IsChecked = false; break; } case 4://注册表防护 { File_cb.IsChecked = false; Process_cb.IsChecked = false; Register_cb.IsChecked = true; Other_cb.IsChecked = false; break; } case 8://其他防护 { File_cb.IsChecked = false; Process_cb.IsChecked = false; Register_cb.IsChecked = false; Other_cb.IsChecked = true; break; } case 3://文件+进程 { File_cb.IsChecked = true; Process_cb.IsChecked = true; Register_cb.IsChecked = false; Other_cb.IsChecked = false; break; } case 5://文件+注册表 { File_cb.IsChecked = true; Process_cb.IsChecked = false; Register_cb.IsChecked = true; Other_cb.IsChecked = false; break; } case 9://文件+其他 { File_cb.IsChecked = true; Process_cb.IsChecked = false; Register_cb.IsChecked = false; Other_cb.IsChecked = true; break; } case 11://文件+进程+其他 { File_cb.IsChecked = true; Process_cb.IsChecked = true; Register_cb.IsChecked = false; Other_cb.IsChecked = true; break; } case 7://文件+进程+注册表 { File_cb.IsChecked = true; Process_cb.IsChecked = true; Register_cb.IsChecked = true; Other_cb.IsChecked = false; break; } case 13://文件+注册表+其他 { File_cb.IsChecked = true; Process_cb.IsChecked = false; Register_cb.IsChecked = true; Other_cb.IsChecked = true; break; } case 15://文件+进程+注册表+其他 { File_cb.IsChecked = true; Process_cb.IsChecked = true; Register_cb.IsChecked = true; Other_cb.IsChecked = true; break; } case 6://进程+注册表 { File_cb.IsChecked = false; Process_cb.IsChecked = true; Register_cb.IsChecked = true; Other_cb.IsChecked = false; break; } case 10://进程+其他 { File_cb.IsChecked = false; Process_cb.IsChecked = true; Register_cb.IsChecked = false; Other_cb.IsChecked = true; break; } case 14://进程+注册表+其他 { File_cb.IsChecked = false; Process_cb.IsChecked = true; Register_cb.IsChecked = true; Other_cb.IsChecked = true; break; } case 12://注册表+其他 { File_cb.IsChecked = false; Process_cb.IsChecked = false; Register_cb.IsChecked = true; Other_cb.IsChecked = true; break; } } }
public static Setting ReadSetting(string FPath) { XmlDocument doc = new XmlDocument(); try { doc.Load(FPath); } catch (System.Exception) { Setting setting=new Setting(); setting.Mode=1; setting.ProtectType=15; WriteSetting(setting, FPath); doc.Load(FPath); } Setting settings=new Setting(); XmlNodeList NodeList = doc.GetElementsByTagName("SETTING"); foreach (XmlNode Node in NodeList) { int index = 0; XmlNodeList ChildNodeList = Node.ChildNodes; foreach (XmlNode ChildNode in ChildNodeList) { if (index == 0) { settings.Mode = Int32.Parse(ChildNode.InnerXml); } else { settings.ProtectType = Int32.Parse(ChildNode.InnerXml); } index++; } } return settings; }