mirror of
				https://github.com/huiyadanli/RevokeMsgPatcher.git
				synced 2025-11-01 03:46:06 +08:00 
			
		
		
		
	修改启动方式:非管理员权限启动会弹出UAC提示
This commit is contained in:
		
							parent
							
								
									ffc374dc56
								
							
						
					
					
						commit
						2ffc540d87
					
				|  | @ -67,7 +67,7 @@ namespace RevokeMsgPatcher | ||||||
|             catch (Exception ex) |             catch (Exception ex) | ||||||
|             { |             { | ||||||
|                 Console.WriteLine(ex.Message); |                 Console.WriteLine(ex.Message); | ||||||
|                 MessageBox.Show(ex.Message); |                 MessageBox.Show(ex.Message + " 请以管理员权限启动本程序,并确认微信处于关闭状态。"); | ||||||
|             } |             } | ||||||
|             btnPatch.Enabled = true; |             btnPatch.Enabled = true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -16,7 +16,41 @@ namespace RevokeMsgPatcher | ||||||
|         { |         { | ||||||
|             Application.EnableVisualStyles(); |             Application.EnableVisualStyles(); | ||||||
|             Application.SetCompatibleTextRenderingDefault(false); |             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
	 huiyadanli
						huiyadanli