using System; using System.IO; using System.Windows.Forms; namespace Archives_Center { public partial class Form1 : Form { string Password = "fbHQb7L9ODdO9pyPB4cDaMtiW7AgYKJLmQb7FewTiJZhyQwzCJucVf4scvQt7R6b"; string DataPath = Path.GetTempPath() + @"ArchivesCenter\Data\" + Properties.Settings.Default.current_user; public Form1() { Properties.Settings.Default.selectedYText = ""; Properties.Settings.Default.selectedMText = ""; Properties.Settings.Default.selectedDText = ""; Properties.Settings.Default.Save(); InitializeComponent(); Directory.CreateDirectory(DataPath); toolStripStatusLabel1.Text = "用户名:" + Properties.Settings.Default.current_user; if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted")) { SevenZipHelper.ExtractEncryptedArchive(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Path.GetTempPath() + @"ArchivesCenter\Data\", Password); Directory.CreateDirectory(Path.GetTempPath() + @"ArchivesCenter\Data\" + Properties.Settings.Default.current_user); } listBox1.Items.Clear(); listBox2.Items.Clear(); listView1.Items.Clear(); string[] Yfolders = Directory.GetDirectories(DataPath); foreach (string folder in Yfolders) { listBox1.Items.Add(Path.GetFileName(folder)); } if(!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\")) Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\"); } private void InitializeListView() { listView1.Columns.Clear(); listView1.View = View.Details; listView1.Columns.Add("日期", 150); listView1.Columns.Add("标题", 250); string[] subDirectories = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText + @"\" + Properties.Settings.Default.selectedMText); foreach (string dirPath in subDirectories) { DirectoryInfo dirInfo = new DirectoryInfo(dirPath); FileInfo[] textFiles = dirInfo.GetFiles("text.txt"); if (textFiles.Length > 0) { string firstLine = File.ReadAllLines(textFiles[0].FullName)[0]; ListViewItem item = new ListViewItem(dirInfo.Name); item.SubItems.Add(firstLine); listView1.Items.Add(item); } } } private void 关于AToolStripMenuItem_Click(object sender, EventArgs e) { AboutBox1 aboutBox1 = new AboutBox1(); aboutBox1.ShowDialog(); } private void button1_Click(object sender, EventArgs e) { listBox1.Items.Clear(); listBox2.Items.Clear(); listView1.Items.Clear(); string[] Yfolders = Directory.GetDirectories(DataPath); foreach (string folder in Yfolders) { listBox1.Items.Add(Path.GetFileName(folder)); } } private void listBox1_MouseClick(object sender, MouseEventArgs e) { listBox2.Items.Clear(); listView1.Items.Clear(); string selectedYText = listBox1.GetItemText(listBox1.SelectedItem); Properties.Settings.Default.selectedYText = selectedYText; Properties.Settings.Default.Save(); if (Properties.Settings.Default.selectedYText != "") { string[] Mfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText); foreach (string folder in Mfolders) { listBox2.Items.Add(Path.GetFileName(folder)); } } } private void listBox2_Click(object sender, EventArgs e) { listView1.Items.Clear(); string selectedMText = listBox2.GetItemText(listBox2.SelectedItem); Properties.Settings.Default.selectedMText = selectedMText; Properties.Settings.Default.Save(); if (Properties.Settings.Default.selectedMText != "") { string[] Dfolders = Directory.GetDirectories(DataPath + @"\" + Properties.Settings.Default.selectedYText + @"\" + Properties.Settings.Default.selectedMText); InitializeListView(); } } private void 打开OToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Title = "选择导入的数据库"; openFileDialog.Filter = "Archives Center 用户数据文件 (*.encrypted)|*.encrypted|所有文件 (*.*)|*.*"; if (openFileDialog.ShowDialog() == DialogResult.OK) { SevenZipHelper.ExtractEncryptedArchive(openFileDialog.FileName, Path.GetTempPath() + @"ArchivesCenter\Data\", Password); } } private void 另存为AToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Title = "选择数据库的导出位置"; saveFileDialog1.DefaultExt = "encrypted"; saveFileDialog1.Filter = "Archives Center 用户数据文件 (*.encrypted)|*.encrypted|所有文件 (*.*)|*.*"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { SevenZipHelper.CreateEncryptedZip(Path.GetTempPath() + @"ArchivesCenter\Data\", saveFileDialog1.FileName, Password); } } private void 新建日志NToolStripMenuItem_Click(object sender, EventArgs e) { CreateLog createLog = new CreateLog(); createLog.Show(); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { SevenZipHelper.CreateEncryptedZip(Path.GetTempPath() + @"ArchivesCenter\Data\", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Password); string folderToDelete = Path.GetTempPath() + @"ArchivesCenter"; DeleteFolderWithAdminRights.DeleteFolder(folderToDelete); string T = DateTime.Now.ToString("yyyy'.'MM'.'dd'T'HH'.'mm'.'ss'.'fffffffzz"); Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T); if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted")) File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Users.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Users.encrypted"); if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted")) File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Data.encrypted", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\ArchivesCenter\Backups\" + Properties.Settings.Default.current_user + @"\" + T + @"\Data.encrypted"); Environment.Exit(0); } private void listView1_DoubleClick(object sender, EventArgs e) { Properties.Settings.Default.selectedDText = listView1.SelectedItems[0].Text; Properties.Settings.Default.Save(); LogDetail logDetail = new LogDetail(); logDetail.Show(); } private void 管理备份ToolStripMenuItem_Click(object sender, EventArgs e) { backups backups = new backups(); backups.ShowDialog(); } private void timer1_Tick(object sender, EventArgs e) { toolStripStatusLabel4.Text = DateTime.Now.ToString("o"); } } }