A:解决ICON展示问题
This commit is contained in:
1 parent
0198f91bac
commit
f61231d03d
1 file changed
+20
-10
@@ -100,7 +100,7 @@ public class TrayIconManager : IDisposable
|
||||
{
|
||||
Icon = LoadIcon(),
|
||||
Visible = true,
|
||||
Text = "你的应用程序"
|
||||
Text = "NetVizor"
|
||||
};
|
||||
|
||||
_notifyIcon.MouseClick += OnTrayIconClick;
|
||||
@@ -250,20 +250,30 @@ public class TrayIconManager : IDisposable
|
||||
{
|
||||
try
|
||||
{
|
||||
// 首先尝试从嵌入资源加载图标
|
||||
var assembly = System.Reflection.Assembly.GetExecutingAssembly();
|
||||
var resourceName = "Shell.Assets.Icons.app.ico";
|
||||
|
||||
using (var stream = assembly.GetManifestResourceStream(resourceName))
|
||||
// 首先尝试从WPF资源加载图标
|
||||
try
|
||||
{
|
||||
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}");
|
||||
return new Icon(stream);
|
||||
using (var stream = resourceInfo.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 =
|
||||
{
|
||||
"Assets/Icons/app.ico",
|
||||
|
||||
Reference in new issue
Block a user