void bgw_scanDoWork(object sender, DoWorkEventArgs e) { try { if (scanvalue == 2) { lstSeledtedScanDrivedetails = JsonConvert.DeserializeObject<List<SelectedDriveeDetails>>(selectedDriveList); foreach (var element in lstSeledtedScanDrivedetails) { string textplb = "Please wait," + ConfigSettings.ClientName + " is preparing for list of files to scan..."; chromiumBrowser.ExecuteScript("javascript:setantivirusScannedFileDetails('" + textplb + "');"); FileNames = GetFiles(element.DriveName, "*", e).ToArray(); string textplbinit = ConfigSettings.ClientName + " virus scan is initializing..."; chromiumBrowser.ExecuteScript("javascript:setantivirusScannedFileDetails('" + textplbinit + "');"); } } else if (scanvalue == 1) { string textplb = "Please wait," + ConfigSettings.ClientName + " is preparing for list of files to scan..."; chromiumBrowser.ExecuteScript("javascript:setantivirusScannedFileDetails('" + textplb + "');"); FileNames = GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.System), "*", e).ToArray(); string textplbinit = ConfigSettings.ClientName + " virus scan is initializing..."; chromiumBrowser.ExecuteScript("javascript:setantivirusScannedFileDetails('" + textplbinit + "');"); } else { string textplb = "Please wait," + ConfigSettings.ClientName + " is preparing for list of files to scan..."; chromiumBrowser.ExecuteScript("javascript:setantivirusScannedFileDetails('" + textplb + "');"); FileNames = GetFiles(scanFile, "*", e).ToArray(); string textplbinit = ConfigSettings.ClientName + " virus scan is initializing..."; chromiumBrowser.ExecuteScript("javascript:setantivirusScannedFileDetails('" + textplbinit + "');"); } int j = 1; scanList.Clear(); foreach (string path in FileNames) { list.Clear(); filename = path; var clamVir = new ClamClient(hostname, portno); ClamScanResult scanResult = clamVir.ScanFileOnServer(path); if (uxAntivirusScanWorker.CancellationPending == true) { e.Cancel = true; break; } switch (scanResult.Result) { case ClamScanResults.Clean: string textfilescan = "File Scanned : " + path + "^^" + "Total Files Scanned : " + j; chromiumBrowser.ExecuteScript("javascript:setantivirusScannedFileDetails('" + textfilescan + "');"); break; case ClamScanResults.VirusDetected: scanList.Add(new VirusDetails() { IsVirus = "Y", VirusName = scanResult.InfectedFiles.First().VirusName, Path = path }); break; case ClamScanResults.Error: break; } j++; } } catch (Exception ex) { e.Cancel = true; ErrorTracker.WriteErrorLog("MainWindow.cs", "bgw_scanDoWork", "", ex.Message, ex.StackTrace, "ERROR"); } }
private static void bgw_DoWork(object sender, DoWorkEventArgs e) { try { for (int i = 0; i < Drives.Count; i++) { FileNames = GetFiles(Drives[i], "*").ToArray(); var clamVir = new ClamClient(hostname, portno); foreach (string path in FileNames) { ClamScanResult scanResult = clamVir.ScanFileOnServer(path); if (scanResult.Result == ClamScanResults.VirusDetected) { infectedFiles.Add(path); } } } } catch (Exception) { // throw ex; } }
/// <summary> /// Scans a file for viruses /// </summary> /// <param name="pathToFile">The full path to the file</param> public ScanResult ScanFile(string pathToFile) { var clam = new ClamClient("localhost", 3310); return MapScanResult(clam.ScanFileOnServer(pathToFile)); }