private void miExtractHere_Click(object sender, RoutedEventArgs e) {
string FileName = _ShellListView.GetFirstSelectedItem().ParsingName;
var extractor = new SevenZipExtractor(FileName);
string DirectoryName = Path.GetDirectoryName(FileName);
string ArchName = Path.GetFileNameWithoutExtension(FileName);
extractor.Extracting += new EventHandler<ProgressEventArgs>(extractor_Extracting);
extractor.ExtractionFinished += new EventHandler<EventArgs>(extractor_ExtractionFinished);
extractor.FileExtractionStarted += new EventHandler<FileInfoEventArgs>(extractor_FileExtractionStarted);
extractor.FileExtractionFinished += new EventHandler<FileInfoEventArgs>(extractor_FileExtractionFinished);
extractor.PreserveDirectoryStructure = true;
string Separator = "";
if (DirectoryName[DirectoryName.Length - 1] != Char.Parse(@"\")) Separator = @"\";
AddToLog($"Extracted Archive to {DirectoryName}{Separator}{ArchName} from source {FileName}");
extractor.BeginExtractArchive(DirectoryName + Separator + ArchName);
}