mirror of
https://github.com/huiyadanli/RevokeMsgPatcher.git
synced 2025-05-23 22:06:06 +08:00
修改启动方式:非管理员权限启动会弹出UAC提示
This commit is contained in:
parent
ffc374dc56
commit
2ffc540d87
|
@ -67,7 +67,7 @@ namespace RevokeMsgPatcher
|
|||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
MessageBox.Show(ex.Message);
|
||||
MessageBox.Show(ex.Message + " 请以管理员权限启动本程序,并确认微信处于关闭状态。");
|
||||
}
|
||||
btnPatch.Enabled = true;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,41 @@ namespace RevokeMsgPatcher
|
|||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new FormMain());
|
||||
|
||||
//Application.Run(new FormMain());
|
||||
//return;
|
||||
|
||||
//当前用户是管理员的时候,直接启动应用程序
|
||||
//如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行
|
||||
//获得当前登录的Windows用户标示
|
||||
System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
|
||||
System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
|
||||
//判断当前登录用户是否为管理员
|
||||
if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
|
||||
{
|
||||
//如果是管理员,则直接运行
|
||||
Application.Run(new FormMain());
|
||||
}
|
||||
else
|
||||
{
|
||||
//创建启动对象
|
||||
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
|
||||
startInfo.UseShellExecute = true;
|
||||
startInfo.WorkingDirectory = Environment.CurrentDirectory;
|
||||
startInfo.FileName = Application.ExecutablePath;
|
||||
//设置启动动作,确保以管理员身份运行
|
||||
startInfo.Verb = "runas";
|
||||
try
|
||||
{
|
||||
System.Diagnostics.Process.Start(startInfo);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return;
|
||||
}
|
||||
//退出
|
||||
Application.Exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user