using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NetworkRemoteControlLib { public class ConfigProcess { public ConfigProcess() { } public static string ConfigFilePath { get; } =LYFZ.WinAPI.CustomPublicMethod.GetFullDirectoryPath(LYFZ.WinAPI.CustomPublicMethod.BasePath)+"Config.json"; /// /// 主机列表 /// public List ConnectionItemList { get; } = new List(); /// /// 屏幕发送频率 /// public int ScreenSendFrequency { set; get; } = 0; /// /// 屏幕图像品质 /// public int ScreenImageQuality { set; get; } = 0; public bool LoadConfig() { try { if (System.IO.File.Exists(ConfigFilePath)) { this.ConnectionItemList.Clear(); string DataJsonString = System.IO.File.ReadAllText(ConfigFilePath, Encoding.UTF8); dynamic jsonDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject(DataJsonString); this.ScreenSendFrequency = jsonDataObj.屏幕发送频率; this.ScreenImageQuality = jsonDataObj.屏幕图像品质; foreach (dynamic item in jsonDataObj.主机配置列表) { this.ConnectionItemList.Add(new ConnectionItem(item.主机名称.ToString(), item.主机名或IP.ToString(),Convert.ToInt32(item.主机端口),item.主机描述.ToString())); } } else { return false; } return true; } catch { return false; } } public bool SaveConfig() { try { List 主机列表 = new List(); foreach (ConnectionItem citem in ConnectionItemList) { object 主机 = new { 主机名称 = citem.DescriptionName, 主机名或IP = citem.HostNameIP, 主机端口 = citem.HostPort, 主机描述 = citem.DescriptionInformation }; 主机列表.Add(主机); } var 系统设置 = new { 屏幕发送频率 = ScreenSendFrequency, 屏幕图像品质 = ScreenImageQuality, 主机配置列表 = 主机列表 }; string iniConfigInfo = Newtonsoft.Json.JsonConvert.SerializeObject(系统设置); System.IO.File.WriteAllBytes(ConfigFilePath, Encoding.UTF8.GetBytes(iniConfigInfo)); return true; } catch { return false; } } } }