private void btnLoad_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); if (dlg.ShowDialog() == DialogResult.OK) { txtLog.Clear(); treeStructure.Nodes.Clear(); Log("[i] Loading file..."); try { InFile = new InputFile(dlg.FileName); Log(" Size: 0x" + InFile.Length.ToString("X8")); AtomParser parser = new AtomParser(); Atoms = parser.ParseFile(InFile); Log(" Atoms in root: " + Atoms.Count); DisplayTree(Atoms); } catch (Exception ex) { Log(""); Log("[E] " + ex.ToString()); InFile.Close(); btnLoad.Enabled = true; btnPatch.Enabled = false; btnSave.Enabled = false; return; } btnLoad.Enabled = false; btnPatch.Enabled = true; btnSave.Enabled = false; Log(""); Log("--------------------------------"); } }
private void btnLoad_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); if(dlg.ShowDialog() == DialogResult.OK) { txtLog.Clear(); treeStructure.Nodes.Clear(); Log("[i] Loading file..."); try { InFile = new InputFile(dlg.FileName); Log(" Size: 0x" + InFile.Length.ToString("X8")); AtomParser parser = new AtomParser(); Atoms = parser.ParseFile(InFile); Log(" Atoms in root: " + Atoms.Count); DisplayTree(Atoms); } catch (Exception ex) { Log(""); Log("[E] " + ex.ToString()); InFile.Close(); btnLoad.Enabled = true; btnPatch.Enabled = false; btnSave.Enabled = false; return; } btnLoad.Enabled = false; btnPatch.Enabled = true; btnSave.Enabled = false; Log(""); Log("--------------------------------"); } }
private void btnSave_Click(object sender, EventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); if (dlg.ShowDialog() == DialogResult.OK) { Log("[i] Saving file..."); OutputFile outFile = new OutputFile(dlg.FileName); AtomWriter writer = new AtomWriter(); btnSave.Enabled = false; Thread writerThread = new Thread(() => { try { writer.SaveFile(InFile, outFile, Atoms); Log("[i] Done"); } catch (Exception ex) { Log(""); Log("[E] " + ex.ToString()); } BeginInvoke(new Action(() => { InFile.Close(); outFile.Close(); btnLoad.Enabled = true; btnPatch.Enabled = false; btnSave.Enabled = false; })); }); writerThread.Start(); } }