28 lines
980 B
C#
28 lines
980 B
C#
using Microsoft.Win32;
|
|||
|
|
|
||
|
|
namespace PCL.Core.Utils.OS;
|
||
|
|
|
||
|
|
public static class AumidHelper
|
||
|
|
{
|
||
|
|
public const string Aumid = "PCLCommunity.PCLCE";
|
||
|
|
|
||
|
|
public static bool HasAumid()
|
||
|
|
{
|
||
|
|
using var key = Registry.CurrentUser.OpenSubKey(string.Concat(@"Software\Classes\AppUserModelId\", Aumid));
|
||
|
|
return key is not null;
|
||
|
|
}
|
||
|
|
|
||
|
|
public static void RegisterAumid()
|
||
|
|
{
|
||
|
|
// .NET 8 在正常情况下不可能返回 null,如果炸了不应该包住而是让他炸下去
|
||
|
|
using var key = Registry.CurrentUser.CreateSubKey(string.Concat(@"Software\Classes\AppUserModelId\", Aumid));
|
||
|
|
key.SetValue("DisplayName", "Plain Craft Launcher Community Edition");
|
||
|
|
key.SetValue("IconUri", IconHelper.GetIconPath());
|
||
|
|
key.SetValue("IconBackgroundColor", "FFDDDD");
|
||
|
|
}
|
||
|
|
|
||
|
|
public static void UnregisterAumid()
|
||
|
|
{
|
||
|
|
Registry.CurrentUser.DeleteSubKey(string.Concat(@"Software\Classes\AppUserModelId\", Aumid), false);
|
||
|
|
}
|
||
|
|
}
|