diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs
index b7ab8c4..c678528 100644
--- a/MainWindow.xaml.cs
+++ b/MainWindow.xaml.cs
@@ -332,7 +332,7 @@ namespace GeekDesk
}
//监听实时文件夹菜单
- FileWatcher.StartLinkMenuWatcher(appData);
+ FileWatcher.EnableLinkMenuWatcher(appData);
//更新线程开启 检测更新
diff --git a/Util/FileWatcher.cs b/Util/FileWatcher.cs
index 126f478..8aa1e1f 100644
--- a/Util/FileWatcher.cs
+++ b/Util/FileWatcher.cs
@@ -5,6 +5,7 @@ using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Text;
+using System.Threading;
using System.Threading.Tasks;
namespace GeekDesk.Util
@@ -88,7 +89,7 @@ namespace GeekDesk.Util
/// 开启所有菜单监听
///
///
- public static void StartLinkMenuWatcher(AppData appData)
+ public static void EnableLinkMenuWatcher(AppData appData)
{
foreach (MenuInfo menuInfo in appData.MenuList)
{
@@ -97,6 +98,37 @@ namespace GeekDesk.Util
LinkMenuWatcher(menuInfo);
}
}
+ RefreshLinkMenuIcon(appData);
+ }
+
+ private static void RefreshLinkMenuIcon(AppData appData)
+ {
+ new Thread(() =>
+ {
+ foreach (MenuInfo menuInfo in appData.MenuList)
+ {
+ if (menuInfo.MenuType == Constant.MenuType.LINK)
+ {
+ DirectoryInfo dirInfo = new DirectoryInfo(menuInfo.LinkPath);
+ FileSystemInfo[] fileInfos = dirInfo.GetFileSystemInfos();
+
+ ObservableCollection iconList = new ObservableCollection();
+ foreach (FileSystemInfo fileInfo in fileInfos)
+ {
+ IconInfo iconInfo = CommonCode.GetIconInfoByPath_NoWrite(fileInfo.FullName);
+ iconList.Add(iconInfo);
+ }
+ App.Current.Dispatcher.Invoke(() =>
+ {
+ foreach (IconInfo iconInfo in iconList)
+ {
+ menuInfo.IconList = null;
+ menuInfo.IconList = iconList;
+ }
+ });
+ }
+ }
+ }).Start();
}
///