public MainWindow()
        {
            InitializeComponent();
            updateServerStatus();
            updateSharedCacheLocation();
            if (!File.Exists(temp + @"\fakeEveLauncher.json"))
            {
                userSaveFile.path = "";
                userSaveFile.userName = "";
                userSaveFile.userPass = "";
                userSaveFile.isCloseAfterLaunch = false;
                userSaveFile.isDX9Choosed = false;
                userSaveFile.Write(temp + @"\fakeEveLauncher.json", JsonConvert.SerializeObject(userSaveFile));
            }
            else
            {
                saveFileJson = userSaveFile.Read(temp + @"\fakeEveLauncher.json",Encoding.UTF8);
                userSaveFile = JsonConvert.DeserializeObject<saveFile>(saveFileJson);
                try
                {
                    gameExePath.Text = userSaveFile.path;
                    userName.Text = userSaveFile.userName;
                    userPass.Password = userSaveFile.userPass;
                    useDX9RenderMode(userSaveFile.isDX9Choosed);
                    exitAfterLaunch.IsChecked = userSaveFile.isCloseAfterLaunch;

                    if (!String.IsNullOrEmpty(userSaveFile.userName))
                    {
                        saveUserName.IsChecked = true;
                    }
                    if (!String.IsNullOrEmpty(userSaveFile.userPass))
                    {
                        savePassword.IsChecked = true;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + " 启动器更新导致存档文件需要更新,更新的设置项已应用默认设置。");
                }
            }
        }
        public MainWindow()
        {
            InitializeComponent();
            updateServerStatus();
            updateSharedCacheLocation();
            if (!File.Exists(temp + @"\Settings.json"))
            {
                userSaveFile.path               = "";
                userSaveFile.launchPara         = "";
                userSaveFile.isCloseAfterLaunch = false;
                userSaveFile.isDX9Choosed       = false;
                userSaveFile.Write(temp + @"\Settings.json", JsonConvert.SerializeObject(userSaveFile));
            }
            else
            {
                saveFileJson = userSaveFile.Read(temp + @"\Settings.json", Encoding.UTF8);
                userSaveFile = JsonConvert.DeserializeObject <saveFile>(saveFileJson);
                try
                {
                    gameExePath.Text     = userSaveFile.path;
                    launchParameter.Text = userSaveFile.launchPara;
                    useDX9RenderMode(userSaveFile.isDX9Choosed);
                    exitAfterLaunch.IsChecked = userSaveFile.isCloseAfterLaunch;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + " 启动器更新导致存档文件需要更新,更新的设置项已应用默认设置。");
                }
            }

            if (File.Exists("userInfo.xml"))
            {
                /*创建文件流对象 参数1:文件的(相对)路径也可以再另一个文件夹下如:User(文件夹)/userInfo
                 *               参数2:指定操作系统打开文件的方式
                 *               参数3:指定文件的访问类型(这里为只读)  */

                //为了安全在这里创建了一个userInfo文件(用户信息),也可以命名为其他的文件格式的(可以任意)
                FileStream    fs = new FileStream("userInfo.xml", FileMode.Open, FileAccess.Read); //使用第6个构造函数
                XmlSerializer xs = new XmlSerializer(typeof(List <Account>));                      //创建一个序列化和反序列化类的对象
                accounts = (List <Account>)xs.Deserialize(fs);                                     //调用反序列化方法,从文件userInfo.xml中读取对象信息


                for (int i = 0; i < accounts.Count; i++)      //将集合中的用户登录ID读取到下拉框中
                {
                    if (i == 0 && accounts[i].Password != "") //如果第一个用户已经记住密码了。
                    {
                        savePassword.IsChecked = true;
                        userPass.Password      = accounts[i].Password; //给密码框赋值
                    }
                    userName.Items.Add(accounts[i].Username.ToString());
                }
                fs.Close();                 //关闭文件流
                userName.SelectedIndex = 0; //默认下拉框选中为第一项
            }
            else
            {
                accounts = new List <Account>();
                saveAllAccount();
            }
            userName.DropDownClosed += SelectedIndexChanged;
        }