Exemple #1
0
        static void Main(string[] args)
        {
            //Always wrap anything that could possibly throw an exception.
            try
            {
                Console.WriteLine("MClam scan file example.");
                Console.WriteLine("========================");
                Console.WriteLine();

                Helpers.InitializeClamAV();

                //Use "using" to avoid memory leak when exception is thrown.
                Console.Write("Creating new engine...");
                using (var cl_engine = ClamEngine.CreateNew())
                {
                    Console.WriteLine("SUCCESS!");

                    //Load database files from directory.
                    Console.Write("Loading CVD into engine...");
                    cl_engine.LoadCvdDirectory(@"D:\MClam\CVD");
                    Console.WriteLine("SUCCESS!");

                    //Compile engine.
                    Console.Write("Compiling engine...");
                    cl_engine.Compile();
                    Console.WriteLine("SUCCESS!");

                    //Open a file to scan.
                    Console.Write("Opening a file...");
                    var fileToScan = FileEntry.Open(@"D:\MClam\eicar.com");
                    Console.WriteLine("SUCCESS!");

                    //Scan the file.
                    Console.Write("Scanning file...");
                    var result = cl_engine.ScanFile(fileToScan);
                    Console.WriteLine("COMPLETED!");
                    Console.WriteLine();

                    //Show file scan info.
                    Console.Write("FullPath: ");
                    Console.WriteLine(result.FullPath);
                    Console.Write("IsVirus: ");
                    Console.WriteLine(result.IsVirus);
                    Console.Write("Scanned: ");
                    Console.WriteLine(result.Scanned);
                    Console.Write("VirusName: ");
                    Console.WriteLine(result.VirusName);
                    Console.WriteLine();

                    //Completed!
                    Console.WriteLine("Scan has been completed!");
                }
            }
            catch (Exception ex)
            {
                //We've got an exception. Write it on screen.
                Console.WriteLine(ex.ToString());
            }
            //Pause here...
            Console.Write("Press any key to exit...");
            Console.ReadKey();
        }