mi codigo actual esta asi
Código
public void metodoExtraccion() { des.listaDescargas.Visibility = System.Windows.Visibility.Visible; des.lblDescargaTitulo.Content = "EXTRAYENDO ARCHIVOS"; des.Show(); { Title = "Archivos a Descomprimir", Filter = "Extraer (7z RAR Zip ISO|*.7z; *.rar; *.zip; *.iso", Multiselect = true }; if ((ofd.ShowDialog() == true)) { foreach (string n in ofd.FileNames) { sw.WriteLine(n); } sw.Close(); string zipName = ofd.FileName; System.Threading.Tasks.Task.Run(() => { File.OpenRead(zipName))) { tmp.FileExtractionStarted += (s, e) => { Dispatcher.Invoke(() => des.listaDescargas.Items.Add((String.Format("Extrayendo... [{0}%] {1}", e.PercentDone, e.FileInfo.FileName)))); }; tmp.ExtractionFinished += (s, e) => { Dispatcher.Invoke(() => des.listaDescargas.Items.Add("Proceso Finalizado")); }; try { Directory.CreateDirectory(ofd.SafeFileName); string nombre = Path.GetFileNameWithoutExtension(ofd.SafeFileName); string salida = Path.Combine(Settings.Default.directorioExtraidos, nombre); tmp.ExtractArchive(salida); MainWindow.habla.SpeakAsync("Extraccion Finalizada"); Directory.Delete(ofd.SafeFileName, true); } catch (Exception) { des.lblPorcentaje.Content = "Necesita Contraseña"; MainWindow.habla.Speak("No se puede extraer, archivo dañado o con contraseña"); } } }); }; }
El codigo es totalmente funcional, espero puedan ayudarme con un ejemplo con validacion de contraseña y de ahi partir a adaptarlo a mi codigo , gracias de antemano.