using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Timers; using System.Data.SqlClient; namespace Saviour_Backup_System { public class USBTools { public static void initDriveScan(){ Timer scanTimer = new Timer(); scanTimer.Elapsed += new ElapsedEventHandler(driveScanTick); scanTimer.Interval = 5000; scanTimer.Start(); } private static void driveScanTick(object sender, ElapsedEventArgs e) { DriveInfo[] drives = getConnectedDrives(); foreach (DriveInfo drive in drives) { //open database, check if record backup record exists. If so, then run backup procedure in seperate thread } } public static DriveInfo[] getConnectedDrives() { List drivesList = new List(); DriveInfo[] drives = DriveInfo.GetDrives(); foreach (DriveInfo drive in drives) { try { string driveName = drive.VolumeLabel; string driveLetter = drive.Name; } catch { continue; } drivesList.Add(drive); } return drivesList.ToArray(); } public void safelyEjectDrive(string driveChar) { driveChar = driveChar.Remove(driveChar.Length - 1); RemoveDriveTools.RemoveDrive(driveChar); } } }