/// <summary> /// Begins running a standard application message loop on the current thread, with an <see cref="T:System.Windows.Forms.ApplicationContext"/>. /// </summary> /// <param name="context">An <see cref="T:System.Windows.Forms.ApplicationContext"/> in which the application is run. </param><exception cref="T:System.InvalidOperationException">A main message loop is already running on this thread. </exception><filterpriority>2</filterpriority><PermissionSet><IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/><IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/><IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode, ControlEvidence"/><IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/><IPermission class="System.Diagnostics.PerformanceCounterPermission, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/></PermissionSet> public static ElevationRequestResult Run(ApplicationContext context) { ElevationRequestResult returnValue = ElevationRequestResult.Unknown; try { returnValue = ElevatedApplication.RunElevated(); return(returnValue); } finally { if (returnValue == ElevationRequestResult.ElevationNotRequired) { ElevatedApplication.applicationRunning = true; Application.Run(context); } } }
public static void SetElevationRequirement(bool elevationRequired) { ElevatedApplication.SetElevationRequirement(elevationRequired ? ApplicationElevationRequirement.ElevationRequired : ApplicationElevationRequirement.ElevationNotRequired); }