Skip to content

Commit

Permalink
use unsafe accessor instead of reflection
Browse files Browse the repository at this point in the history
  • Loading branch information
Scighost committed Dec 3, 2023
1 parent 6c89836 commit 67933cb
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/Starward/Services/SystemTrayService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using Starward.Core;
using Starward.Pages.SystemTray;
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
Expand Down Expand Up @@ -70,7 +70,7 @@ public void Initialize(GameBiz gameBiz = GameBiz.None)
Id = TrayIcon.CreateUniqueGuidFromString(gameBiz.ToString()),
};
TaskbarIcon.ForceCreate(false);
TrayIcon = typeof(TaskbarIcon).GetProperty("TrayIcon", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(TaskbarIcon) as TrayIcon;
TrayIcon = GetTrayIcon(TaskbarIcon);
if (gameBiz is GameBiz.None)
{
TrayWindow = new SystemTrayWindow(new MainMenuSystemTrayPage());
Expand All @@ -94,6 +94,10 @@ public void Initialize(GameBiz gameBiz = GameBiz.None)



[UnsafeAccessor(UnsafeAccessorKind.Method, Name = "get_TrayIcon")]
private static extern TrayIcon GetTrayIcon(TaskbarIcon taskbarIcon);



[RelayCommand]
private void OpenContextMenu()
Expand Down

0 comments on commit 67933cb

Please sign in to comment.