static void Main(string[] args)
        {
            XmlConfigurator.Configure(new FileInfo("logconfig.xml"));

            Logger.Log.Info(String.Empty);
            Logger.Log.Info("==============================");
            Logger.Log.Info("Started DesktopBackgroundChanger Console App.");

            try
            {
                var settings = new ConfigSettings();

                settings.LoadFromXML(File.ReadAllText("config.xml"));

                if (String.IsNullOrWhiteSpace(settings.ImageLocationDirectory))
                {
                    settings.ImageLocationDirectory = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestImages");
                }

                var changer = new DesktopChanger();
                changer.Run(settings);
            }
            catch (Exception ex)
            {
                Logger.Log.Fatal(ex.Message, ex);
            }

            Logger.Log.Info("Closed DesktopBackgroundChanger Console App.");
            System.Console.Read();
            Logger.Log.Info("Goodbye!");
            Logger.Log.Info("==============================");
        }
        private void changeBetween()
        {
            DirectoryInfo di = new DirectoryInfo(@".\cache\");

            FileInfo[] files = di.GetFiles();
            _run = true;
            int fileIndex = 0;

            while (_run)
            {
                if (fileIndex >= files.Length - 1)
                {
                    fileIndex = 0;
                }
                else
                {
                    fileIndex++;
                }
                FileInfo file = files[fileIndex];
                DesktopChanger.SetDesktopWallpaper(file.FullName);
                System.Threading.Thread.Sleep(Convert.ToInt32(Config["changeTimeout"]));
            }
        }