Autoit: Проверка наличието на административни права, придобиване на такива

Публикувано: 19.07.16, 21:30:43 | Автор: ArMeN | Видяна: 773 | Редактирано: -

Autoit: Проверка наличието на административни права, придобиване на такива.
If IsAdmin() Then
MsgBox(0, "Info", "Имате административни права.")
Else
MsgBox(0, "Info", "Нямате административни права.")
EndIf


If Not IsAdmin() Then ; прав администратора нет
$answer = MsgBox(262144 + 256 + 48 + 4, Default, 'Программе необходимы полные администраторские права для работы. Предоставить их ей?')
If $answer = 6 Then ; нажата кнопка Да
ShellExecute(@AutoItExe, $CmdLineRaw, @WorkingDir , "runas", @SW_SHOWNORMAL)
; 1) путь к файлу
; 2) параметры
; 3) рабочий каталог
; 4) действие. В справке runas почему-то не задокументировано
; 5) флаг. В данном случае используется тот же, что и был использован при запуске самой программы
If Not @error Then ; если всё нормально - прекращаем работу
Exit
Else ; пользователь не разрешил скрипту внести изменения на компьютер
MsgBox(262144 + 48, Default, 'Разрешение не получено. Программа завершает свою работу.')
; можно работать дальше с обычными правами
Exit
EndIf
Else ; пользователь нажал нет в диалоге скрипта
MsgBox(262144 + 48, Default, 'Программе НУЖНЫ администраторские права для работы. Программа завершает свою работу.')
Exit
EndIf
Else ; права уже есть
MsgBox(262144 + 48, '', 'Пора захыватывать мир :)')
EndIf

Източник
#AutoIt3Wrapper_Res_RequestedExecutionLevel=highestAvailable
#RequireAdmin
Източник

Не сте влезли в акаунта си за да коментирате.


 

Няма коментари.