private bool ExportToFile(RegKey key, RegExportFormat format, Stream output) { bool success = true; using (output) { DisableControls(); try { using (new BusyCursor(this)) { using (StreamWriter writer = new StreamWriter(output)) { RegExporter.Export(key, ExportProvider.Create(format, writer)); } } } catch { success = false; } EnableControls(); } return(success); }
public static ExportProvider Create(RegExportFormat format, System.IO.StreamWriter writer) { ExportProvider provider = null; switch (format) { case RegExportFormat.NativeRegFormat: provider = new NativeExportProvider(writer); break; case RegExportFormat.XmlFormat: provider = new XmlExportProvider(writer); break; default: provider = new TextExportProvider(writer); break; } return(provider); }
private void btnExport_Click(object sender, EventArgs e) { RegKey key; if ((key = RegKey.Parse(cmbBranch.Text)) == null) { UIUtility.DisplayError(this, Properties.Resources.Error_InvalidKey, cmbBranch); return; } RegExportFormat format = GetExportFormat(); Stream output; try { output = File.OpenWrite(txtFile.Text); } catch { UIUtility.DisplayError(this, Properties.Resources.Error_FileOpenFail, txtFile); return; } bool success = ExportToFile(key, format, output); if (!success) { UIUtility.DisplayError(this, Properties.Resources.Error_ExportFail); } else { UIUtility.InformUser(this, Properties.Resources.Info_ExportSuccess); this.Close(); } }