Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 35
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть неплохая идея: написать оболочку (GUI) для авторизации запуска скрипта от имени админа.

начал писать и наткнулся на проблемку - незнаю как реализовать проверку строки RunAsSet на наличие прав администратора
вот код:

Код: Выделить весь код
#include <GUIConstants.au3>
GUICreate("Авторизация", 198, 125) 
;фон окна
GUISetBkColor (0x00E0FFFF)
;лейблы 
GUICtrlCreateLabel("Имя администратора", 25, 5)
GUICtrlCreateLabel("Пароль администратора", 25, 50)
;запуск и отмена скрипта
$ok = GUICtrlCreateButton("Ok", 25, 98, 70,20)
$cancel = GuiCtrlCreateButton ("Cancel",105,98,70,20)
;ввод имени
$us = @UserName
$in1 =GUICtrlCreateCombo ($us, 25, 25, 150, 20)
GUICtrlSetData($in1, "admin|qwerty|Администратор|Винни-Пух")
GUICtrlSetTip(-1,"введите имя любой учётной записи" & @CRLF & "имеюшей права Администратора")
;ввод пароля
$in2 = GUICtrlCreateInput ("solo11",  25, 70, 150, 20, 0x20)
GUICtrlSetTip(-1,"введите пароль")

GUISetState(@SW_SHOW)

While 2
$msg = GUIGetMsg()
;считываем введённые данные
$out1 = GUICtrlRead($in1)
$out2 = GUICtrlRead($in2)

Global $user = $out1, $pass = $out2

Select
Case $msg = $ok
;инициализация запуска от имени админа
RunAsSet($user, "", $pass)

;проверка верны ли введённые записи на право обладания правами админа 
;вот здесь незнаю как реализовать проверку. написал но думается неправильно
;---------------------------------------
if	IsAdmin() = -1 Then
MsgBox(16, "Ошибка", "Данная учётная запись не обладает правами Администратора") 
EndIf
;---------------------------------------

;запуск программы
Run("setup.exe")
;закрытие окна
	Case $msg = $cancel
	  ExitLoop
    Case $msg = $GUI_EVENT_CLOSE 
		ExitLoop
	EndSelect
WEnd 
;-------------------------------------
в дополнение хотелось бы сделать так чтобы при неправильном вводе имени или пароля GUI не закрывалось а предлагало заново ввести имя и пароль. Ещё , если пользователь обладает правами администратора GUI вобще не появлялось а начинало запуск скрипта с команды Run либо выводило окно без пароля.
Помогайте решать ! думаю вещь полезная и пригодиться многим.

Последний раз редактировалось Lodoss, 29-10-2006 в 19:18.


Отправлено: 19:11, 29-10-2006 | #423