A:解决ICON展示问题

This commit is contained in:
jimmy committed 2025-08-18 15:17:45 +08:00
1 parent 0198f91bac
commit f61231d03d
1 file changed
+20 -10
@@ -100,7 +100,7 @@ public class TrayIconManager : IDisposable
{ {
Icon = LoadIcon(), Icon = LoadIcon(),
Visible = true, Visible = true,
Text = "你的应用程序" Text = "NetVizor"
}; };
_notifyIcon.MouseClick += OnTrayIconClick; _notifyIcon.MouseClick += OnTrayIconClick;
@@ -250,20 +250,30 @@ public class TrayIconManager : IDisposable
{ {
try try
{ {
// 首先尝试从嵌入资源加载图标 // 首先尝试从WPF资源加载图标
var assembly = System.Reflection.Assembly.GetExecutingAssembly(); try
var resourceName = "Shell.Assets.Icons.app.ico";
using (var stream = assembly.GetManifestResourceStream(resourceName))
{ {
if (stream != null) var uri = new Uri("/Assets/Icons/app.ico", UriKind.Relative);
var resourceInfo = System.Windows.Application.GetResourceStream(uri);
if (resourceInfo != null)
{ {
Log.Info($"成功从资源加载托盘图标: {resourceName}"); using (var stream = resourceInfo.Stream)
return new Icon(stream); {
Log.Info($"成功从WPF资源加载托盘图标: {uri}");
return new Icon(stream);
}
}
else
{
Log.Warning($"WPF资源流为空: {uri}");
} }
} }
catch (Exception ex)
{
Log.Warning($"从WPF资源加载图标失败: {ex.Message}");
}
// 如果资源加载失败,尝试从文件系统加载 // 如果WPF资源加载失败,尝试从文件系统加载
string[] possiblePaths = string[] possiblePaths =
{ {
"Assets/Icons/app.ico", "Assets/Icons/app.ico",