Windows 7 и Vista UAC – программатически запрашивает повышение в C #

У меня есть программа, которая требует очень редко для администратора в очень редких случаях, поэтому я не хочу, чтобы мой манифест требовал постоянного повышения.

Как я могу запрограммировать запрос по высоте только тогда, когда мне это нужно?

Я использую C #

WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator); if (!hasAdministrativeRight) { RunElevated(Application.ExecutablePath); this.Close(); Application.Exit(); } private static bool RunElevated(string fileName) { //MessageBox.Show("Run: " + fileName); ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.Verb = "runas"; processInfo.FileName = fileName; try { Process.Start(processInfo); return true; } catch (Win32Exception) { //Do nothing. Probably the user canceled the UAC window } return false; } 
  • Как включить административные ресурсы в Vista и XP?
  • Windows 7 ПК не может найти ПК с Windows Vista
  • Для чего нужны файлы desktop.ini?
  • Как удалить старые резервные копии Windows Vista?
  • Как отменить «удалить все демонтировать» в Diskpart?
  • Как искать только папки в Vista
  • Странный шрифт в Firefox
  • Нечеткое поведение принтера HP в Vista Home Basic
  • Запуск приложения (.EXE) из C #?
  • Последствия отключения компьютера во время обновления Windows Vista («Не выключать компьютер»)?
  • Как автоматически заставить компьютер спать и просыпаться?
  • Давайте будем гением компьютера.