Exemplo n.º 1
0
        // private int openButton_Click(object sender, EventArgs e)
        public int openButton_Click()
        {
            int flag = 0;

            openButton.Enabled  = false;
            closeButton.Enabled = true;

            try
            {
                OperateIniFile.WriteIniData("PORT", "NAME", ComComobox.Text, ".\\cantool.ini");
                OperateIniFile.WriteIniData("BaudRate", "NAME", BaudRatecomobox.Text, ".\\cantool.ini");

                serialPort1.PortName = ComComobox.Text;                                                                  //选择串口
                serialPort1.BaudRate = Convert.ToInt32(BaudRatecomobox.Text);                                            //Baud Rate
                serialPort1.Parity   = (System.IO.Ports.Parity)Enum.Parse(typeof(System.IO.Ports.Parity), parity);       //Parity
                serialPort1.StopBits = (System.IO.Ports.StopBits)Enum.Parse(typeof(System.IO.Ports.StopBits), stopbits); //StopBits
                serialPort1.DataBits = Convert.ToInt32(DataBitscomobox.Text);                                            //Data bits                                                        //DataBits
                serialPort1.Open();
                serialPort1.DataReceived          += new SerialDataReceivedEventHandler(CommDataReceived);               //串口监听
                serialPort1.ReceivedBytesThreshold = 1;                                                                  //用来控制缓冲区的大小,接收足够的字符串后再接收处理,注意每次发送加的换行符占1字节而且算一次发送
                flag = 1;
                return(flag);
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
                flag = 2;
                return(flag);
            }
        }
Exemplo n.º 2
0
        public void PlayGame()
        {
            string path = ShareSetting.Setting.LOLPath;

            string exePath = Path.Combine(path, "TCLS", "Client.exe");

            if (string.IsNullOrEmpty(exePath) || !File.Exists(exePath))
            {
                var dialog = new FolderBrowserDialog();
                dialog.Description = "运行本程序前,先设置LOL目录";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    path = dialog.SelectedPath;
                    ShareSetting.Setting.LOLPath = path;
                    OperateIniFile.WriteIniData("Game", "RootPath", path, ShareSetting.ConfigPath);
                    exePath = Path.Combine(path, "TCLS", "Client.exe");
                }
            }
            try
            {
                Process.Start(exePath);
            }
            catch (Exception ex)
            {
                var wm = ServiceManager.GetService <IWindowManager>();
                wm.ShowMessage(ex.Message);
            }
        }
        private void btnReportSettingSave_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(txtMailPwd.Password))
                {
                    App.reportSettingModel.MailPwd = txtMailPwd.Password;
                }
                OperateIniFile.WriteIniData("Base", "MEIK base", App.reportSettingModel.MeikBase, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Report", "Use Default Signature", App.reportSettingModel.UseDefaultSignature.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                User[]        doctorUsers = App.reportSettingModel.DoctorNames.ToArray <User>();
                List <string> doctorsArr  = new List <string>();
                foreach (var item in doctorUsers)
                {
                    doctorsArr.Add(item.Name + "|" + item.License);
                }
                OperateIniFile.WriteIniData("Report", "Doctor Names List", string.Join(";", doctorsArr.ToArray()), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Report", "Doctor Name Required", App.reportSettingModel.ShowDoctorSignature.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Report", "Use Default Logo", App.reportSettingModel.DefaultLogo.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Report", "Transfer Mode", App.reportSettingModel.TransferMode.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Report", "Print Paper", App.reportSettingModel.PrintPaper.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "My Mail Address", App.reportSettingModel.MailAddress, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "To Mail Address", App.reportSettingModel.ToMailAddress, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "To Mail Address List", string.Join(";", App.reportSettingModel.ToMailAddressList), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Mail", "Mail Subject", App.reportSettingModel.MailSubject, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Content", App.reportSettingModel.MailSubject, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Host", App.reportSettingModel.MailHost, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Port", App.reportSettingModel.MailPort.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Username", App.reportSettingModel.MailUsername, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                string mailPwd = App.reportSettingModel.MailPwd;
                if (!string.IsNullOrEmpty(mailPwd))
                {
                    mailPwd = SecurityTools.EncryptText(mailPwd);
                }
                OperateIniFile.WriteIniData("Mail", "Mail Password", mailPwd, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail SSL", App.reportSettingModel.MailSsl.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Device", "Device No", App.reportSettingModel.DeviceNo.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");


                Logo[]        deviceLogos = App.reportSettingModel.DeciceLogo.ToArray <Logo>();
                List <string> logoArr     = new List <string>();
                foreach (var item in deviceLogos)
                {
                    logoArr.Add(item.Device + "||" + item.Address);
                }
                OperateIniFile.WriteIniData("Report", "Logo List", string.Join("&&", logoArr.ToArray()), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                MessageBox.Show(this, App.Current.FindResource("Message_14").ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, App.Current.FindResource("Message_13").ToString() + " " + ex.Message);
            }
        }
Exemplo n.º 4
0
 // 保存当前的阅读状态
 private void SaveReadMark()
 {
     if (txtName != null)
     {
         //第几页,每页行数写入配置
         OperateIniFile.WriteIniData(SECTION_PAGINATION, MD5Encrypt16(txtName) + ".page", this.page + "", configPath);
         OperateIniFile.WriteIniData(SECTION_PAGINATION, MD5Encrypt16(txtName) + ".countPerPage", this.countPerPage + "", configPath);
     }
 }
Exemplo n.º 5
0
 public MainWindow()
 {
     InitializeComponent();
     //Token检测
     Q.token = OperateIniFile.ReadIniData("Setting", "Token", "", Directory.GetCurrentDirectory() + @"\Config.ini");
     if (Q.token == "")
     {
         OperateIniFile.WriteIniData("Setting", "Token", "", Directory.GetCurrentDirectory() + @"\Config.ini");
         //MessageBox.Show("请在文件Config.ini中添加Token!", "提示:", MessageBoxButton.OK, MessageBoxImage.Information);
     }
 }
Exemplo n.º 6
0
        private void WriteProfile()
        {
            OperateIniFile.WriteIniData("basic", "LocalPort", textBoxLocalPort.Text.Trim(), "profile.ini");
            OperateIniFile.WriteIniData("save", "EnableLocalSave", checkBoxEnableSaveLocal.Checked ? "1" : "0",
                                        "profile.ini");
            OperateIniFile.WriteIniData("save", "LocalPath", textBoxDataFileLocalPath.Text, "profile.ini");

            OperateIniFile.WriteIniData("save", "EnableSendData", checkBoxSendData.Checked ? "1" : "0", "profile.ini");
            OperateIniFile.WriteIniData("save", "SendRemoteIp", textBoxSendRemoteIp.Text, "profile.ini");
            OperateIniFile.WriteIniData("save", "SendRemotePort", textBoxSendRemotePort.Text, "profile.ini");
            OperateIniFile.WriteIniData("save", "EnableSaveDB", checkBoxEnableSaveDB.Checked ? "1" : "0", "profile.ini");
        }
Exemplo n.º 7
0
        public void OnDownloadPathBrowse()
        {
            var dialog = new FolderBrowserDialog();

            dialog.Description = "视频下载目录";
            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ShareSetting.Setting.DownloadsPath = dialog.SelectedPath;
                OperateIniFile.WriteIniData("Game", "Downloads", ShareSetting.Setting.DownloadsPath, ShareSetting.ConfigPath);
                ServiceManager.GetService <IWindowManager>().ShowMessage("保存成功");
            }
        }
Exemplo n.º 8
0
        private void vpathbrowser_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new FolderBrowserDialog();

            dialog.Description = "视频下载目录";
            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ShareSetting.Setting.DownloadsPath = dialog.SelectedPath;
                vpath.Text = ShareSetting.Setting.DownloadsPath;
                OperateIniFile.WriteIniData("Game", "Downloads", ShareSetting.Setting.DownloadsPath, ShareSetting.ConfigPath);
            }
        }
Exemplo n.º 9
0
        private void WriteProfile()
        {
            OperateIniFile.WriteIniData("basic", "LocalPort", textBoxLocalPort.Text.Trim(), "profile.ini");
            OperateIniFile.WriteIniData("basic", "ChannelWayIndex", comboBoxDeviceType.SelectedIndex.ToString(), "profile.ini");

            OperateIniFile.WriteIniData("save", "EnableLocalSave", checkBoxEnableSaveLocal.Checked ? "1" : "0", "profile.ini");
            OperateIniFile.WriteIniData("save", "LocalPath", textBoxDataFileLocalPath.Text, "profile.ini");

            OperateIniFile.WriteIniData("save", "EnableSendData", checkBoxSendData.Checked ? "1" : "0", "profile.ini");
            OperateIniFile.WriteIniData("save", "SendRemoteIp", textBoxSendRemoteIp.Text, "profile.ini");
            OperateIniFile.WriteIniData("save", "SendRemotePort", textBoxSendRemotePort.Text, "profile.ini");
            OperateIniFile.WriteIniData("save", "EnableSaveDB", checkBoxEnableSaveDB.Checked ? "1" : "0", "profile.ini");
        }
Exemplo n.º 10
0
        private void gpathbrowser_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new FolderBrowserDialog();

            dialog.Description = "设置LOL目录";
            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ShareSetting.Setting.LOLPath = dialog.SelectedPath;
                gpath.Text = ShareSetting.Setting.LOLPath;
                OperateIniFile.WriteIniData("Game", "RootPath", ShareSetting.Setting.LOLPath, ShareSetting.ConfigPath);
                if (MainViewModel.IsAdministrator())
                {
                    InitReg();
                }
            }
        }
 /// <summary>
 /// 确认使用当前签名
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnOkSignBox_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (!Directory.Exists(signFolder))
         {
             Directory.CreateDirectory(signFolder);
             FileHelper.SetFolderPower(signFolder, "Everyone", "FullControl");
             FileHelper.SetFolderPower(signFolder, "Users", "FullControl");
         }
         if (this.cbDefault.IsChecked == true)
         {
             using (var stream = System.IO.File.OpenWrite(AppDomain.CurrentDomain.BaseDirectory + "Signature" + System.IO.Path.DirectorySeparatorChar + "default.strokes"))
             {
                 this.inkCanvas.Strokes.Save(stream);
             }
         }
         else
         {
             using (var stream = System.IO.File.OpenWrite(AppDomain.CurrentDomain.BaseDirectory + "Signature" + System.IO.Path.DirectorySeparatorChar + "temp.strokes"))
             {
                 this.inkCanvas.Strokes.Save(stream);
             }
         }
         SaveBitmap();
         if (defaultSign != this.cbDefault.IsChecked)
         {
             OperateIniFile.WriteIniData("Report", "Use Default Signature", this.cbDefault.IsChecked.Value.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
         }
         UserList userListWin = this.Owner as UserList;
         userListWin.ShowSignature(null);
         //if (this.callbackMethod != null)
         //{
         //    this.callbackMethod(this.inkCanvas.Strokes);
         //}
     }
     catch (Exception ex)
     {
         FileHelper.SetFolderPower(signFolder, "Everyone", "FullControl");
         FileHelper.SetFolderPower(signFolder, "Users", "FullControl");
         MessageBox.Show(ex.Message);
     }
     finally
     {
         this.Close();
     }
 }
Exemplo n.º 12
0
 private void SaveFile()
 {
     if (Setting_dataGridView.InvokeRequired)
     {
         SaveFileCallBack rscb = new SaveFileCallBack(SaveFile);
         Invoke(rscb, new object[] { });
     }
     else
     {
         try
         {
             string section, key, value;
             section = Setting_dataGridView.Rows[0].Cells[0].Value.ToString();
             for (int i = 0; i < Setting_dataGridView.Rows.Count - Sections.Count; i++)
             {
                 if (Sections.Contains(Setting_dataGridView.Rows[i].Cells[0].Value.ToString()))
                 {
                     section = Setting_dataGridView.Rows[i].Cells[0].Value.ToString();
                 }
                 if (Sections.Contains(Setting_dataGridView.Rows[i + 1].Cells[0].Value.ToString()))
                 {
                     key   = Setting_dataGridView.Rows[i].Cells[0].Value.ToString();
                     value = Setting_dataGridView.Rows[i].Cells[2].Value.ToString();
                 }
                 else
                 {
                     key   = Setting_dataGridView.Rows[i + 1].Cells[0].Value.ToString();
                     value = Setting_dataGridView.Rows[i + 1].Cells[2].Value.ToString();
                 }
                 if (OperateIniFile.WriteIniData(section, key, value))
                 {
                 }
             }
             MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         catch (Exception e)
         {
             MessageBox.Show(e.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
Exemplo n.º 13
0
        public override async void OnLoad()
        {
            string path = ShareSetting.Setting.LOLPath = OperateIniFile.ReadIniData("Game", "RootPath", "", ShareSetting.ConfigPath);

            ShareSetting.Setting.ImagePath     = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Images");
            ShareSetting.Setting.DownloadsPath = OperateIniFile.ReadIniData("Game", "Downloads", "", ShareSetting.ConfigPath);
            if (string.IsNullOrEmpty(ShareSetting.Setting.DownloadsPath))
            {
                ShareSetting.Setting.DownloadsPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Downloads");
            }

            if (string.IsNullOrEmpty(path))
            {
                var dialog = new FolderBrowserDialog();
                dialog.Description = "运行本程序前,先设置LOL目录";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    path = dialog.SelectedPath;
                    ShareSetting.Setting.LOLPath = path;
                    OperateIniFile.WriteIniData("Game", "RootPath", path, ShareSetting.ConfigPath);
                    if (IsAdministrator())
                    {
                        GameSettingDialog.InitReg();
                    }
                    else
                    {
                        System.Windows.MessageBox.Show("用管理员模式运行可激活OB功能", "不是以管理员身份运行");
                    }
                }
            }

            IsOpenView = Model.CheckView();
            IsNoTP     = Model.CheckNoTP();

            LoadHeros();

            CurrentAlbum = AlbumList[0];
            LoadVideos();
        }
 private void btnOk_Click(object sender, RoutedEventArgs e)
 {
     if (string.IsNullOrEmpty(this.txtLicense.Text))
     {
         MessageBox.Show(this, App.Current.FindResource("Message_71").ToString());
     }
     else
     {
         try
         {
             NameValueCollection nvlist = new NameValueCollection();
             nvlist.Add("license", this.txtLicense.Text);
             nvlist.Add("cpuid", ComputerInfoTools.GetCPUId());
             var  res     = HttpWebTools.Post(App.reportSettingModel.CloudPath + "/api/active", nvlist);
             var  jsonObj = JObject.Parse(res);
             bool status  = (bool)jsonObj["status"];
             if (status)
             {
                 App.reportSettingModel.License = this.txtLicense.Text;
                 OperateIniFile.WriteIniData("Base", "License", this.txtLicense.Text, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                 string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "license.dat";
                 SecurityTools.EncryptTextToFile(App.reportSettingModel.License + ComputerInfoTools.GetCPUId(), filePath);
                 MessageBox.Show(this, App.Current.FindResource("Message_73").ToString());
                 this.DialogResult = (bool?)true;
                 this.Close();
             }
             else
             {
                 string info = (string)jsonObj["info"];
                 MessageBox.Show(this, info);
             }
         }
         catch (Exception exe)
         {
             MessageBox.Show(this, App.Current.FindResource("Message_72").ToString() + exe.Message);
         }
     }
     this.txtLicense.Focus();
 }
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtLastName.Text))
            {
                MessageBox.Show(this, App.Current.FindResource("Message_22").ToString());
                this.txtLastName.Focus();
            }
            else if (App.reportSettingModel.ShowTechSignature && this.listTechnicianName.SelectedIndex == -1)
            {
                MessageBox.Show(this, App.Current.FindResource("Message_28").ToString());
                this.listTechnicianName.Focus();
            }
            else
            {
                //string dayFolder = App.reportSettingModel.DataBaseFolder + System.IO.Path.DirectorySeparatorChar + DateTime.Now.ToString("MM_yyyy") + System.IO.Path.DirectorySeparatorChar + DateTime.Now.ToString("dd");
                string monthFolder = App.reportSettingModel.DataBaseFolder + System.IO.Path.DirectorySeparatorChar + DateTime.Now.ToString("yyyy_MM");
                if (!Directory.Exists(monthFolder))
                {
                    Directory.CreateDirectory(monthFolder);
                }

                string patientFolder = null;
                try
                {
                    patientFolder = monthFolder + System.IO.Path.DirectorySeparatorChar + this.txtPatientCode.Text + "-" + this.txtLastName.Text;
                    if (!string.IsNullOrEmpty(this.txtFirstName.Text))
                    {
                        patientFolder = patientFolder + "," + this.txtFirstName.Text;
                    }
                    if (!string.IsNullOrEmpty(this.txtMiddleInitial.Text))
                    {
                        patientFolder = patientFolder + " " + this.txtMiddleInitial.Text;
                    }
                    if (!Directory.Exists(patientFolder))
                    {
                        Directory.CreateDirectory(patientFolder);
                        OperateIniFile.WriteIniData("Data", "Last Code", this.txtPatientCode.Text, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                        //創建用戶信息文件
                        string patientFile = patientFolder + System.IO.Path.DirectorySeparatorChar + this.txtPatientCode.Text + ".ini";
                        if (!File.Exists(patientFile))
                        {
                            var fs = File.Create(patientFile);
                            fs.Close();
                        }
                        OperateIniFile.WriteIniData("Personal data", "surname", this.txtLastName.Text, patientFile);
                        OperateIniFile.WriteIniData("Personal data", "given name", this.txtFirstName.Text, patientFile);
                        OperateIniFile.WriteIniData("Personal data", "other name", this.txtMiddleInitial.Text, patientFile);
                        OperateIniFile.WriteIniData("Personal data", "birth date", this.txtBirthDate.Text, patientFile);
                        OperateIniFile.WriteIniData("Personal data", "birth month", this.txtBirthMonth.Text, patientFile);
                        OperateIniFile.WriteIniData("Personal data", "birth year", this.txtBirthYear.Text, patientFile);

                        OperateIniFile.WriteIniData("Report", "Technician Name Required", App.reportSettingModel.ShowTechSignature.ToString(), patientFile);
                        var tech = this.listTechnicianName.SelectedItem as User;
                        OperateIniFile.WriteIniData("Report", "Technician Name", tech.Name, patientFile);
                        OperateIniFile.WriteIniData("Report", "Technician License", tech.License, patientFile);
                        OperateIniFile.WriteIniData("Report", "Screen Venue", App.reportSettingModel.ScreenVenue, patientFile);
                    }
                    else
                    {
                        MessageBox.Show(this, string.Format(App.Current.FindResource("Message_24").ToString(), patientFolder));
                    }

                    UserList userlistWin = this.Owner as UserList;
                    userlistWin.loadArchiveFolder(patientFolder);
                    try
                    {
                        Clipboard.SetText(this.txtPatientCode.Text);
                    }
                    catch (Exception) { }
                }
                catch (Exception ex)
                {
                    FileHelper.SetFolderPower(patientFolder, "Everyone", "FullControl");
                    FileHelper.SetFolderPower(patientFolder, "Users", "FullControl");
                    MessageBox.Show(this, App.Current.FindResource("Message_23").ToString());
                    MessageBox.Show(this, string.Format(App.Current.FindResource("Message_25").ToString(), patientFolder, ", Error: " + ex.Message));
                }
                finally
                {
                    this.Close();
                }
            }
        }
Exemplo n.º 16
0
        private void Save_setting_Click(object sender, EventArgs e)
        {
            if (System.Diagnostics.Process.GetProcessesByName("SteamService").ToList().Count == 0 &&
                System.Diagnostics.Process.GetProcessesByName("SteamService.exe").ToList().Count == 0)
            {
                MessageBox.Show("Steam没有正在运行,或者SteamService服务出现异常。");
                return;
            }
            if (steam_dir.Text == "")
            {
                MessageBox.Show("你似乎没有选择Steam的根目录。");
                return;
            }
            if (img_enable.Checked == true)
            {
                if (img_dir.Text == "")
                {
                    MessageBox.Show("你启用了修改图片功能,但是好像你并没有上传图片。");
                    return;
                }
            }
            if (font_enable.Checked == true)
            {
                if (font_dir.Text == "")
                {
                    MessageBox.Show("你启用了修改字体功能,但是好像你并没有上传字体。");
                    return;
                }
            }
            // 判断libraryroot.css是否存在
            string path = steam_dir.Text + "\\steamui\\css\\libraryroot.css";

            if (!System.IO.File.Exists(path))
            {
                MessageBox.Show("你选择的Steam目录有误,或者您没有启用Steam Beta Update测试版客户端。");
                return;
            }
            // 写配置项
            OperateIniFile.WriteIniData("properties", "steam_dir", steam_dir.Text, appdata + "/properties.ini");
            if (img_enable.Checked == true)
            {
                OperateIniFile.WriteIniData("properties", "img_enable", "true", appdata + "/properties.ini");
                OperateIniFile.WriteIniData("properties", "img_src", img_dir.Text, appdata + "/properties.ini");
            }
            else
            {
                OperateIniFile.WriteIniData("properties", "img_enable", "false", appdata + "/properties.ini");
            }
            if (font_enable.Checked == true)
            {
                OperateIniFile.WriteIniData("properties", "font_enable", "true", appdata + "/properties.ini");
                OperateIniFile.WriteIniData("properties", "font_src", font_dir.Text, appdata + "/properties.ini");
            }
            else
            {
                OperateIniFile.WriteIniData("properties", "font_enable", "false", appdata + "/properties.ini");
            }
            if (reg_serivce.Checked == true)
            {
                OperateIniFile.WriteIniData("properties", "service_register", "true", appdata + "/properties.ini");
            }
            else
            {
                OperateIniFile.WriteIniData("properties", "service_register", "false", appdata + "/properties.ini");
            }
            if (hide_mainlib.Checked == true)
            {
                OperateIniFile.WriteIniData("properties", "hide_mainlib", "true", appdata + "/properties.ini");
            }
            else
            {
                OperateIniFile.WriteIniData("properties", "hide_mainlib", "false", appdata + "/properties.ini");
            }
            try
            {
                // 生成CSS文件
                FileStream fs     = new FileStream(appdata + "/libraryroot_new.css", FileMode.Create, FileAccess.Write);
                FileStream source = new FileStream(appdata + "/libraryroot.css", FileMode.Open);
                fs.SetLength(0);
                StreamWriter sw = new StreamWriter(fs, Encoding.Default);
                StreamReader sr = new StreamReader(source);
                string       line;
                sw.Write("*{font-family:Youmu!important;background:0!important;border:none!important}");
                if (img_enable.Checked == true)
                {
                    sw.Write("body{background-image:url(bg.png)!important;background-repeat:no-repeat!important;background-size:100% 100%!important}");
                }
                if (font_enable.Checked == true)
                {
                    sw.Write("@font-face{font-family:Youmu;font-style:normal;font-weight:400;font-display:swap;src:url(font.ttf)}");
                }
                if (hide_mainlib.Checked == true)
                {
                    sw.Write(".smartscrollcontainer_Container_3VQUe{display:none!important}");
                }
                while ((line = sr.ReadLine()) != null)
                {
                    sw.Write(line + "\n");
                }
                sw.Flush();
                sw.Close();
                sr.Close();
                // 检验MD5文件
                string css_source = GetMD5HashFromFile(steam_dir.Text + "\\steamui\\css\\libraryroot.css");
                string css        = GetMD5HashFromFile(appdata + "/libraryroot_new.css");
                if (css != css_source)
                {
                    System.IO.File.Copy(appdata + "/libraryroot_new.css", steam_dir.Text + "\\steamui\\css\\libraryroot.css", true);
                }
                if (img_enable.Checked == true)
                {
                    string img_source = GetMD5HashFromFile(steam_dir.Text + "\\steamui\\css\\bg.png");
                    string img        = GetMD5HashFromFile(img_dir.Text);
                    if (img != img_source)
                    {
                        System.IO.File.Copy(img_dir.Text, steam_dir.Text + "\\steamui\\css\\bg.png", true);
                    }
                }
                if (font_enable.Checked == true)
                {
                    string font_source = GetMD5HashFromFile(steam_dir.Text + "\\steamui\\css\\font.ttf");
                    string font        = GetMD5HashFromFile(font_dir.Text);
                    if (font != font_source)
                    {
                        System.IO.File.Copy(font_dir.Text, steam_dir.Text + "\\steamui\\css\\font.ttf", true);
                    }
                }
                // 服务
                string serviceFilePath = $"{Application.StartupPath}\\SteamLibBeautifyService.exe";
                string serviceName     = "Steam Library Beautify";
                if (reg_serivce.Checked == true)
                {
                    try
                    {
                        if (this.IsServiceExisted(serviceName))
                        {
                            this.UninstallService(serviceName);
                        }
                        this.InstallService(serviceFilePath);
                        if (this.IsServiceExisted(serviceName))
                        {
                            this.ServiceStart(serviceName);
                        }
                        Console.WriteLine("Service Installed");
                    }
                    catch (Exception ee)
                    {
                        Console.WriteLine(ee.ToString());
                    }
                }
                else
                {
                    try
                    {
                        if (this.IsServiceExisted(serviceName))
                        {
                            this.ServiceStop(serviceName);
                        }
                        if (this.IsServiceExisted(serviceName))
                        {
                            this.ServiceStop(serviceName);
                            this.UninstallService(serviceFilePath);
                        }
                        Console.WriteLine("Service Uninstalled");
                    }
                    catch (Exception ee)
                    {
                        Console.WriteLine(ee.ToString());
                    }
                }
                MessageBox.Show("保存成功!");
            }
            catch (Exception ee)
            {
                MessageBox.Show("出错了!!!");
                Console.WriteLine(ee.ToString());
            }
        }
        private void btnReportSettingSave_Click(object sender, RoutedEventArgs e)
        {
            Regex re = new Regex("[0-9]{3}");

            if (!re.IsMatch(txtDeviceId.Text))
            {
                MessageBox.Show(this, App.Current.FindResource("Message_64").ToString());
                txtDeviceId.Focus();
                return;
            }

            try
            {
                if (!string.IsNullOrEmpty(txtMailPwd.Password))
                {
                    App.reportSettingModel.MailPwd = txtMailPwd.Password;
                }
                OperateIniFile.WriteIniData("Base", "MEIK base", App.reportSettingModel.MeikBase, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Report", "Use Default Signature", App.reportSettingModel.UseDefaultSignature.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                User[]        techUsers = App.reportSettingModel.TechNames.ToArray <User>();
                List <string> techArr   = new List <string>();
                foreach (var item in techUsers)
                {
                    techArr.Add(item.Name + "|" + item.License);
                }
                OperateIniFile.WriteIniData("Report", "Technician Names List", string.Join(";", techArr.ToArray()), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Report", "Screen Venue", App.reportSettingModel.ScreenVenue.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Report", "Technician Name Required", App.reportSettingModel.ShowTechSignature.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Report", "Transfer Mode", App.reportSettingModel.TransferMode.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Mail", "My Mail Address", App.reportSettingModel.MailAddress, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "To Mail Address", App.reportSettingModel.ToMailAddress, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Mail", "To Mail Address List", string.Join(";", App.reportSettingModel.ToMailAddressList), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Subject", App.reportSettingModel.MailSubject, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Content", App.reportSettingModel.MailSubject, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Host", App.reportSettingModel.MailHost, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Port", App.reportSettingModel.MailPort.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail Username", App.reportSettingModel.MailUsername, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                string mailPwd = App.reportSettingModel.MailPwd;
                if (!string.IsNullOrEmpty(mailPwd))
                {
                    mailPwd = SecurityTools.EncryptText(mailPwd);
                }
                OperateIniFile.WriteIniData("Mail", "Mail Password", mailPwd, System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");
                OperateIniFile.WriteIniData("Mail", "Mail SSL", App.reportSettingModel.MailSsl.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                OperateIniFile.WriteIniData("Device", "Device No", App.reportSettingModel.DeviceNo.ToString(), System.AppDomain.CurrentDomain.BaseDirectory + "Config.ini");

                var userListWin = this.Owner as UserList;
                userListWin.labDeviceNo.Content = App.reportSettingModel.DeviceNo;
                //if (App.reportSettingModel.TransferMode == TransferMode.CloudServer)
                //{
                //    userListWin.btnReceivePdf.Visibility = Visibility.Visible;
                //}
                //else
                //{
                //    userListWin.btnReceivePdf.Visibility = Visibility.Collapsed;
                //}

                MessageBox.Show(this, App.Current.FindResource("Message_14").ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, App.Current.FindResource("Message_13").ToString() + " " + ex.Message);
            }
        }