private void lblSelectFiles_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (executionStatus == ExecutionStatus.Stopped) { var fileDialog = new OpenFileDialog { Multiselect = true, Filter = "Dynamic libraries|*.dll|Static libraries|*.lib|Executables|*.exe|Drivers|*.sys|All|*.*" }; if (DialogResult.OK == fileDialog.ShowDialog()) { if (fileDialog.FileNames.Length > 0) { var selectedFiles = new List <string>(); foreach (var fileName in fileDialog.FileNames) { selectedFiles.Add(fileName); } lstSelectedFiles.DataSource = selectedFiles; toolStripStatusLabelMain.Text = "Parsing selected file(s)..."; foreach (string filePath in lstSelectedFiles.Items) { try { toolStripStatusLabelMain.Text = "Parsing " + filePath; var filePdbInfo = PeFilePdbInformation.ExtractPDBInformation(filePath); peFilePdbInfo[filePath] = filePdbInfo; } catch (PEParsingException expt) { //badFiles.Add(filePath, expt.Message()); badFiles[filePath] = expt.Message; } } toolStripStatusLabelMain.Text = "Parsing selected file(s)...finished"; // show default lblFileProgress.Text = "waiting for download..."; lblTotalProgress.Text = "waiting for download..."; btnDownload.Enabled = true; btnCancel.Enabled = false; } } } }
private string BuildPDBUrl(string peFilePath) { var pdbInfo = PeFilePdbInformation.ExtractPDBInformation(peFilePath); return(pdbInfo.PdbFileName); }