コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
            }
        }