예제 #1
0
        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;
                    }
                }
            }
        }
예제 #2
0
        private string BuildPDBUrl(string peFilePath)
        {
            var pdbInfo = PeFilePdbInformation.ExtractPDBInformation(peFilePath);

            return(pdbInfo.PdbFileName);
        }