コード例 #1
0
        public void test_interval()
        {
            var wh   = new WallhavenClient();
            var item = wh.search("Sasuke -Yellow", "random", "1M", true).Result?.data?.FirstOrDefault();

            if (item != null)
            {
                var data = wh.downloadWallpaper(item).Result;
                if (data != null)
                {
                    var endPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(item.path));
                    File.WriteAllBytes(endPath, data);
                    App.DisplayPicture(endPath);
                }
            }
        }
コード例 #2
0
        public void startChangeProcess()
        {
            Config = new AppConfig();
            Config.Load().Wait();
            var wh            = new WallhavenClient();
            var bgInterval    = App.Config.ChangeInterval;
            var changeOnStart = App.Config.ChangeOnStart;
            var bgChanger     = new Timer(bgInterval);
            var wpPath        = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wallpapers");

            bgChanger.Elapsed += (s, e) =>
            {
                try
                {
                    bgChanger.Stop();
                    var item = wh.search(Config.SearchQuery, Config.selectedSort, Config.selectedTopRange, true).Result?.data?.FirstOrDefault();
                    if (item != null)
                    {
                        var data = wh.downloadWallpaper(item).Result;
                        if (data != null)
                        {
                            if (!Directory.Exists(wpPath))
                            {
                                Directory.CreateDirectory(wpPath);
                            }
                            var endPath = Path.Combine(wpPath, Path.GetFileName(item.path));
                            File.WriteAllBytes(endPath, data);
                            if (File.Exists(endPath))
                            {
                                DisplayPicture(endPath);
                            }
                            bgChanger.Start();
                        }
                    }
                }
                catch (Exception ex)
                {
                    File.WriteAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "error.log"), ex.ToString());
                    bgChanger.Start();
                }
            };
            bgChanger.Start();
            Task.Delay(-1).Wait();
        }