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(),
|
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",
|
||||||
|
|||||||
Reference in new issue
Block a user