private void Load_ComboBox() { //clear combox boxes for refresh everytime button is clicked comboBox1.Items.Clear(); comboBox1.Refresh(); try { //grab XML info from SavedCredentials folder string[] strXMLExists = Directory.GetFiles("C:\\Program Files\\AdminRDP\\SavedCredentials\\", "*.xml", SearchOption.AllDirectories); //populdate dropbox data from xml if there are xml files present if (strXMLExists != null) { //grab XML data XmlSerializer sr = new XmlSerializer(typeof(Credential_Manager_Save)); string[] dir = Directory.GetFiles("C:\\Program Files\\AdminRDP\\SavedCredentials\\", "*.xml"); //loop through current directory and grab info from saved credential xml files foreach (string d in dir) { using (FileStream read = new FileStream(d, FileMode.Open, FileAccess.Read, FileShare.Read)) { //add items to combo box Credential_Manager_Save credman = (Credential_Manager_Save)sr.Deserialize(read); comboBox1.Items.Add(credman.txtUsername + "_" + credman.txtDomain); read.Close(); } } } }catch (Exception e) { MessageBox.Show(e.Message); } }
//load data back in text fields when selected private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { XmlSerializer sr = new XmlSerializer(typeof(Credential_Manager_Save)); using (FileStream read = new FileStream("C:\\Program Files\\AdminRDP\\SavedCredentials\\" + comboBox1.SelectedItem.ToString() + ".xml", FileMode.Open, FileAccess.Read, FileShare.Read)) { Credential_Manager_Save credman = (Credential_Manager_Save)sr.Deserialize(read); txtUsername.Text = credman.txtUsername; txtPassword.Text = Encryption.DecryptString(credman.txtPassword); txtDomain.Text = credman.txtDomain; read.Close(); } }
//save or update credentials private void button1_Click(object sender, EventArgs e) { //Form validation if (txtUsername.Text == "") { MessageBox.Show("Please enter a username!"); return; } if (txtPassword.Text == "") { MessageBox.Show("Please enter a password!"); return; } if (txtDomain.Text == "") { MessageBox.Show("Please enter a domain!"); return; } //attempt to save credentials try { //save credentials to XML Credential_Manager_Save credman = new Credential_Manager_Save(); credman.txtUsername = txtUsername.Text; credman.txtPassword = Encryption.EncryptString(txtPassword.Text); credman.txtDomain = txtDomain.Text; string strPath = "C:\\Program Files\\AdminRDP\\SavedCredentials\\" + txtUsername.Text + "_" + txtDomain.Text + ".xml"; SaveXML.SaveData(credman, strPath); MessageBox.Show("Credentials have been saved!"); txtUsername.Text = ""; txtPassword.Text = ""; txtDomain.Text = ""; Save = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } }