Что нового

строки ввода логина и пароля

sanf

Новичок
Сообщения
30
Репутация
0
Здравствуйте!
Подскажите как добавить строку ввода логина и пароля на одно окно, и чтобы команда запускалась от введенного пользователя вместо уже вбитого.

Код:
$user = "Администратор"  ; Имя пользователя
$etalon = "12345" ; Пароль
$domain = "local" ; Домен

$pass = InputBox("Секретный пароль", "В ведите пароль от " & $user, "", "*", 170, 150)
If @error Then Exit
   If $etalon = $pass Then
$iPID = RegDelete("HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}", "RunAs") ; удаляет запись в реестре
		 RunAs($user, $domain, $pass, 4, "explorer") ; Запускает explorer

Else
    MsgBox(4096, "Error Pass", "Дальше будем подбирать пароль? O_o")

EndIf
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("RunAs", 330, 146, -1, -1, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
$Label1 = GUICtrlCreateLabel("Пользователь:", 8, 8, 100, 17)
$Label2 = GUICtrlCreateLabel("Пароль:", 8, 32, 100, 17)
$Label3 = GUICtrlCreateLabel("Домен:", 8, 56, 100, 17)
$Label4 = GUICtrlCreateLabel("Файл:", 8, 80, 100, 17)
$Input1 = GUICtrlCreateInput("", 112, 8, 209, 21)
$Input2 = GUICtrlCreateInput("", 112, 32, 209, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Input3 = GUICtrlCreateInput("", 112, 56, 209, 21)
$Input4 = GUICtrlCreateInput("calc.exe", 112, 80, 209, 21)
$Button1 = GUICtrlCreateButton("Выполнить", 112, 112, 211, 25)
$Button2 = GUICtrlCreateButton("Отмена", 8, 112, 99, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE, $Button2
			Exit
    Case $Button1
     RunAs(GUICtrlRead($Input1), GUICtrlRead($Input3), GUICtrlRead($Input2), 0, '"' & GUICtrlRead($Input4) & '"', @ScriptDir, @SW_SHOW)
	EndSwitch
WEnd
 
Автор
S

sanf

Новичок
Сообщения
30
Репутация
0
Спасибо все получилось.
Может кому пригодится, запускает explorer от учетной записи в домене как на XP так и на 7ке

Еще вопрос задам, а какая команда закроет скрипт при успешном срабатывании?

Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$domain = "local" ; Домен

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Admin  XP-7", 320, 100, -1, -1, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
$Label1 = GUICtrlCreateLabel("Пользователь:", 8, 10, 100, 17)
$Label2 = GUICtrlCreateLabel("Пароль:", 8, 37, 100, 17)
$Input1 = GUICtrlCreateInput("", 112, 10, 200, 20)
$Input2 = GUICtrlCreateInput("", 112, 37, 200, 20, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Button1 = GUICtrlCreateButton("OK", 112, 70, 200, 25)
$Button2 = GUICtrlCreateButton("Отмена", 8, 70, 99, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $Button2
            Exit
		 Case $Button1
			RegDelete("HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}", "RunAs") ; удаляет запись в реестре
     RunAs(GUICtrlRead($Input1), $domain, GUICtrlRead($Input2), 4, "explorer.exe /separate", @ScriptDir, @SW_SHOW) ; запускает explorer
    EndSwitch
WEnd
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
sanf [?]
какая команда закроет скрипт при успешном срабатывании?
Попробуйте примерно так.
Код:
;...
$iPid = RunAs(GUICtrlRead($Input1), $domain, GUICtrlRead($Input2), 4, "explorer.exe /separate", @ScriptDir, @SW_SHOW) ; запускает explorer
If $iPid Then Exit
MsgBox(16, 'Error', 'RunAs')
Exit 1
;...
 
Автор
S

sanf

Новичок
Сообщения
30
Репутация
0
Подскажите пожалуйста что нужно подправить? чтобы после ввода пароля и нажатии клавиши Enter запускался скрипт, т.к. не оч удобно вечно хватать мышь и нажимать на "ОК"
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
sanf [?]
чтобы после ввода пароля и нажатии клавиши Enter запускался скрипт
Код:
#include <ButtonConstants.au3>
...
$Button1 = GUICtrlCreateButton("OK", 112, 70, 200, 25, $BS_DEFPUSHBUTTON)
...
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
ну или так . но предыдущий вариант самое то :smile:
Код:
GUICtrlSetState($Button1,$GUI_FOCUS)
 
Верх