XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension

【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFEExtension

简化管理员权限申请访问的部分代码

8b6a82c
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

1 个文件 +3 -15
Modified XFE各类拓展.NetCore/PermissionExtension/AdministratorPermission.cs +3 -15
@@ -1,6 +1,5 @@
1 1 using System.Diagnostics;
2 2 using System.Security.Principal;
3 using XFE各类拓展.NetCore.FileExtension;
4 3
5 4 namespace XFE各类拓展.NetCore.PermissionExtension;
6 5
@@ -26,13 +25,12 @@ public static partial class AdministratorPermission
26 25 return principal.IsInRole(WindowsBuiltInRole.Administrator);
27 26 }
28 27 /// <summary>
29 ///
28 /// 请求管理员权限并重启程序
30 29 /// </summary>
31 30 public static void GetPermissionAndReboot()
32 31 {
33 32 try
34 33 {
35 "0".WriteIn("pm.xfe");
36 34 var startInfo = new ProcessStartInfo
37 35 {
38 36 UseShellExecute = true,
@@ -45,27 +43,17 @@ public static partial class AdministratorPermission
45 43 }
46 44 catch (Exception ex)
47 45 {
48 File.Delete("pm.xfe");
46 PermissionState = CurrentPermissionState.PermissionDenied;
49 47 throw new XFEExtensionException("无法获取管理员权限", ex);
50 48 }
51 49 }
52 50 static AdministratorPermission()
53 51 {
54 var result = "pm.xfe".ReadOut();
55 52 var isAdmin = IsAdministrator();
56 53 if (isAdmin)
57 {
58 54 PermissionState = CurrentPermissionState.Administration;
59 }
60 55 else
61 {
62 if (result == "-1")
63 PermissionState = CurrentPermissionState.Normal;
64 else
65 PermissionState = CurrentPermissionState.PermissionDenied;
66 }
67 if (File.Exists("pm.xfe"))
68 File.Delete("pm.xfe");
56 PermissionState = CurrentPermissionState.Normal;
69 57 }
70 58 }
71 59 #pragma warning restore CA1416 // 验证平台兼容性