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; }