/// <summary> /// 下一张壁纸 /// </summary> private void NextWallpaper() { try { timerW.Stop(); LogHelper.WriteLog("更换壁纸", EnumLogLevel.Info); ImgInfo imgInfo = imgHelper.GetNextImage(); if (UserDataManage.IsDislike(imgInfo.Id)) { imgInfo = imgHelper.GetNextImage(); } string imgFullName = System.IO.Path.Combine(ConfigManage.Base.CachePath, imgInfo.GetFileName()); if (!File.Exists(imgFullName)) { // 判断下载目录中是否存在 imgFullName = System.IO.Path.Combine(ConfigManage.Base.DownPath, imgInfo.GetFileName()); if (!File.Exists(imgFullName)) { WebHelper.DownImage(imgInfo.url, imgFullName); } } if (File.Exists(imgFullName)) { Common.WinApi.SetWallpaper(imgFullName); UserDataManage.AddRecord(RecordType.AutoWallpaper, imgInfo); ConfigManage.Wallpaper.ReplaceLastTime = DateTime.Now; ConfigManage.Save(); } timerW.Start(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void EffectPicture(object source, ElapsedEventArgs e) { try { ImgInfo info = imgHelper.GetNextImage(); if (UserDataManage.IsDislike(info.Id)) { info = imgHelper.GetNextImage(); } picBox.Dispatcher.BeginInvoke(new Action <Image, ImgInfo>((image, imgInfo) => { timerP.Stop(); imageQueue.Queue(picBox, info); }), new Object[] { picBox, info }); } catch (Exception ex) { Common.LogHelper.WriteLog(ex.Message, Common.EnumLogLevel.Error); picBox.Dispatcher.BeginInvoke(new Action <Exception>((exc) => { Growl.Error("壁纸切换异常:\n\t" + exc.Message); }), new Object[] { ex }); } }