mirror of
https://github.com/osukey/osukey.git
synced 2025-07-02 16:59:53 +09:00
Show a notification if game is run as administrator
This commit is contained in:
@ -7,6 +7,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Versioning;
|
||||
using System.Security.Principal;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Win32;
|
||||
using osu.Desktop.Overlays;
|
||||
@ -20,6 +21,7 @@ using osu.Game.Screens.Menu;
|
||||
using osu.Game.Updater;
|
||||
using osu.Desktop.Windows;
|
||||
using osu.Framework.Threading;
|
||||
using osu.Game.Admin;
|
||||
using osu.Game.IO;
|
||||
|
||||
namespace osu.Desktop
|
||||
@ -102,6 +104,8 @@ namespace osu.Desktop
|
||||
}
|
||||
}
|
||||
|
||||
protected override AdminChecker CreateAdminChecker() => new DesktopAdminChecker();
|
||||
|
||||
protected override void LoadComplete()
|
||||
{
|
||||
base.LoadComplete();
|
||||
@ -180,5 +184,10 @@ namespace osu.Desktop
|
||||
Task.Factory.StartNew(() => Import(paths), TaskCreationOptions.LongRunning);
|
||||
}
|
||||
}
|
||||
|
||||
private class DesktopAdminChecker : AdminChecker
|
||||
{
|
||||
protected override bool IsAdmin() => OperatingSystem.IsWindows() ? new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator) : Mono.Unix.Native.Syscall.geteuid() == 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user