Windows 7 и Vista UAC – программатически запрашивает повышение в C #
У меня есть программа, которая требует очень редко для администратора в очень редких случаях, поэтому я не хочу, чтобы мой манифест требовал постоянного повышения.
Как я могу запрограммировать запрос по высоте только тогда, когда мне это нужно?
Я использую C #
- Удаленное подключение к ПК через Интернет
- Возможно ли импортировать файл реестра Windows без разрушения системы?
- Как я могу вручную загрузить / выгрузить драйвер в Windows Vista?
- Как я могу рекурсивно очистить флаг «Скрытый» файл в Windows Vista?
- Более 4 ГБ ОЗУ на Vista x86
- Как обновить / сбросить / сбросить мои записи DNS в Windows?
- Как изменить ассоциацию файлов?
- Устранение неполадок не удалось выполнить обновление до Windows 7?
- BSOD - невозможно проверить временную метку для ntoskrnl.exe
- Скорость соединения снижается с 1 Гбит / с до 10 Мбит / с (Vista 64)
- Невозможно выполнить ping статический IP-адрес извне
- Как получить максимальное разрешение на Ubuntu в Microsoft Virtual PC?
- Использование диска переустановки Dell для Windows Vista на ноутбуке Sony
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; }