private void StopToolBarButton_Click(object sender, EventArgs e) { ScanLogUpdateTimer.Stop(); UpdateLogUpdateTimer.Stop(); KillServiceThreads(ClamConfig.Services.Scan); KillServiceThreads(ClamConfig.Services.Update); System.Threading.Thread.Sleep(1000); ClamConfig.FindAndKillProcess("clamav"); ClamConfig.FindAndKillProcess("clamscan"); ClamConfig.FindAndKillProcess("freshclam"); ClamConfig.FindAndKillProcess("clamwin"); ClamConfig.FindAndKillProcess("clamtray"); }
private void CheckClamAVComponentStatusTimer_Tick(object sender, EventArgs e) { if (Directory.Exists(@"E:\")) { ScanBackupToolBarButton.Enabled = true; } else { ScanBackupToolBarButton.Enabled = false; } // Update Warning in top right of window LogStatusCheck(); if (ClamConfig.FindProcess("freshclam") || ClamConfig.FindProcess("clamscan")) { EnableToolbarButtons(false); if (ClamConfig.FindProcess("clamscan")) { ClamScanStatusLabel.Text = "Scanner Running"; ClamScanStatusLabel.Image = CommonImages.GreenIcon32; ClamScanStatusLabel.Enabled = true; // If clamscan is running but we did not start it in the console then update the output if (!ScanLogUpdateTimer.Enabled) { ScanLogUpdateTimer.Start(); } } else { ClamScanStatusLabel.Text = "Scanner Idle"; ClamScanStatusLabel.Image = CommonImages.GrayIcon32; ClamScanStatusLabel.Enabled = false; ScanLogUpdateTimer.Stop(); } if (ClamConfig.FindProcess("freshclam")) { ClamUpdateStatusLabel.Text = "Updater Running"; ClamUpdateStatusLabel.Image = CommonImages.GreenIcon32; ClamUpdateStatusLabel.Enabled = true; // If freshclam is running but we did not start it in the console then update the output if (!UpdateLogUpdateTimer.Enabled) { UpdateLogUpdateTimer.Start(); } } else { ClamUpdateStatusLabel.Text = "Updater Idle"; ClamUpdateStatusLabel.Image = CommonImages.GrayIcon32; ClamUpdateStatusLabel.Enabled = false; UpdateLogUpdateTimer.Stop(); } } else { EnableToolbarButtons(true); ClamScanStatusLabel.Text = "Scanner Idle"; ClamScanStatusLabel.Image = CommonImages.GrayIcon32; ClamScanStatusLabel.Enabled = false; ClamUpdateStatusLabel.Text = "Updater Idle"; ClamUpdateStatusLabel.Image = CommonImages.GrayIcon32; ClamUpdateStatusLabel.Enabled = false; UpdateLogUpdateTimer.Stop(); ScanLogUpdateTimer.Stop(); } ClamUpdateStatusLabel.Visible = true; ClamScanStatusLabel.Visible = true; }