예제 #1
0
        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");
            }
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
 /// <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));
 }