Подтвердить что ты не робот

Отключение UAC программно

Можно ли программно отключить UAC в Vista? Или я могу каким-либо образом сделать мое приложение неограниченным для UAC? FYI, приложение должно монтировать жесткие диски "на лету", поэтому я не могу каждый раз запрашивать разрешение UAC...

Update:

Я ищу что-то в соответствии с тем, что упоминал Kosi2801, в основном, чтобы попросить пользователя всегда запускать программу в режиме "повышенной". Я бы хотел, чтобы разрешение было 1 раз, я не говорю, что я программно отключил UAC, не спрашивая разрешения в первую очередь. Я уверен, что есть много программ, которые должны работать в этом режиме (особенно аппаратные программы), поэтому должен быть какой-то способ его размещения.

4b9b3361

Ответ 1

Установите значение EnableLUA DWORD в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System на 0 и перезагрузитесь.

это отключит UAC без проблем, я сделаю это для всех ваших пользователей, с разрешения или без разрешения, зависит от вас, потому что UAC Uista настолько ужасен, что я верю, что меньше людей, у которых есть это в лучшую сторону ( только в перспективе) теперь лучше в win7.

получайте удовольствие от моего трюка реестра:)

работает в win7, дайте мне знать, как вы с ним справились.

Ответ 2

Вы не можете программно отключить UAC, но вы можете заставить программу запускаться с повышенными привилегиями с самого начала, поэтому она не запрашивает каждый раз.

Это заставит его запрашивать один раз при запуске, но не каждый раз, когда ему нужен доступ.

Для этого вам нужно создать файл манифеста и установить <requestedExecutionLevel level="requireAdministrator">

Подробнее см. в MSDN.

Ответ 3

Цель UAC - предотвратить выполнение нежелательных приложений. Если бы его можно было отключить программно, это было бы бесполезно.

Ответ 4

Отключение UAC программно победит его цель, так как это также может быть сделано вредоносными программами, червями, троянами и вирусами и вообще не имеет реального эффекта безопасности.

Вам может потребоваться запустить приложение под учетной записью администратора или (я думаю), чтобы Microsoft каким-то образом подписала ваше приложение.

Могут быть другие способы, о которых я не знаю, но ни один из них не является программным!

Ответ 5

UAC - это необходимое зло, как использование семафоров в городе. Я предлагаю адаптироваться к новой парадигме. Мне лично не нравится UAC; но я понимаю цель и преимущества. К сожалению, мы все создали этого монстра. Чтобы вернуться в 1983 году, сделайте короткую оценку изменений на протяжении многих лет, и тогда мы поймем. Конечно, если намерение предназначено для частного использования, все возможно, как указано выше; но он был бы рискован и стал бы ответственностью за черную дыру.

Ответ 6

Я создал небольшое приложение для этого, но в основном есть 4 раздела реестра, которые вам нужно установить.

Пример С#:

Microsoft.Win32.Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System","EnableLUA", 0);

Microsoft.Win32.Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "ConsentPromptBehaviorAdmin", 0);

Microsoft.Win32.Registry.SetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "PromptOnSecureDesktop", 0);

Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Action Center\\Checks\\{C8E6F269-B90A-4053-A3BE-499AFCEC98C4}.check.0", "CheckSetting", StringToByteArray("23004100430042006C006F00620000000000000000000000010000000000000000000000"), RegistryValueKind.Binary);

Мое приложение запускается как служба каждые 5 минут, чтобы "бороться" с групповой политикой, что является абсолютной досадой для машины-разработчика.

https://github.com/zleight1/DisableUAC

Ответ 7

Я разместил здесь несколько гранулированное (но уродливое) решение.

http://stackoverflow.com/questions/5344021/bypass-uac-in-vbscript/34445992#34445992

Он работает только в том случае, если вы можете запустить приложение из планировщика задач. У меня он работает на двух ноутбуках Windows 7. Это административное решение. Для его реализации вам необходимы права администратора. Я использую его для powershell и для приложения резервного питания UPS. Я подозреваю, что найду другое.

Ответ 8

Это победит объект UAC. Так что нет, вы не можете.