12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- 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";
- /// <summary>
- /// 主机列表
- /// </summary>
- public List<ConnectionItem> ConnectionItemList { get; } = new List<ConnectionItem>();
- /// <summary>
- /// 屏幕发送频率
- /// </summary>
- public int ScreenSendFrequency { set; get; } = 0;
- /// <summary>
- /// 屏幕图像品质
- /// </summary>
- 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<object> 主机列表 = new List<object>();
- 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;
- }
- }
- }
- }
|