я на форуме нашел 1 срипт, а второй мне мне написали тут же (FlatX007)
есть одно но, меня оба устраивают, но в каждом есть проблема, которую мне нужно исправить.
1й простой, но когда закрываешь или жмешь "отмена" он просто пишет, что пароль неправелен. скрипт закрывается только в том случае, если ввести правильно пароль.
Можно конечно исправить
на
Но тогда, если пароль введешь не правильно скрипт закрывается, а не предлагает попробовать еще раз + если закрываешь, то выскакиевает окно "Sorry pall, wrong password. Try again", что не очень правильно.
Есть второй от (FlatX007). Но тут есть также проблема. Когда вводишь правильный пароль, загружается мой GUI, но окно ввода пароля остается на заднем плане. Если его закрыть, то и мой GUI закроется.
Вот пример ГУИ, который должен загружатся после ввода правильного пароля.
Что посоветует в этой ситуации?
есть одно но, меня оба устраивают, но в каждом есть проблема, которую мне нужно исправить.
1й простой, но когда закрываешь или жмешь "отмена" он просто пишет, что пароль неправелен. скрипт закрывается только в том случае, если ввести правильно пароль.
Можно конечно исправить
Код:
Else
MsgBox(0, '', 'Sorry pall, wrong password. Try again')
на
Код:
Else
MsgBox(0, '', 'Sorry pall, wrong password. Try again')
ExitLoop
Но тогда, если пароль введешь не правильно скрипт закрывается, а не предлагает попробовать еще раз + если закрываешь, то выскакиевает окно "Sorry pall, wrong password. Try again", что не очень правильно.
Код:
$superpass = 'qwerty'
While 1
$i = InputBox('Super script', 'Enter password', '', '*')
If StringCompare($i, $superpass) = 0 Then
MsgBox(0, '', 'ta da... password is right')
ExitLoop
Else
MsgBox(0, '', 'Sorry pall, wrong password. Try again')
EndIf
WEnd
Есть второй от (FlatX007). Но тут есть также проблема. Когда вводишь правильный пароль, загружается мой GUI, но окно ввода пароля остается на заднем плане. Если его закрыть, то и мой GUI закроется.
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global Const $sPASSVORD = 1234 ; Пароль для сравнения
$sGUI_NAME = "Ввоод пароля"
$sLIMIT_SIMBOL = 25
$sTextCheckbox1 = "Отображать вводимые символы"
$nFormPassvord = GUICreate($sGUI_NAME, 310, 144, 488, 351)
$Input1 = GUICtrlCreateInput("", 16, 32, 281, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL,$WS_BORDER))
GUICtrlSetLimit(-1, $sLIMIT_SIMBOL)
$Input2 = GUICtrlCreateInput("", 16, 32, 281, 21, BitOR($ES_AUTOHSCROLL,$WS_BORDER))
GUICtrlSetLimit(-1, $sLIMIT_SIMBOL)
GUICtrlSetState(-1, $GUI_HIDE)
$Button1 = GUICtrlCreateButton("&Ok", 224, 112, 75, 25, $BS_DEFPUSHBUTTON)
GUICtrlSetTip(-1, "Проверить")
$Group1 = GUICtrlCreateGroup(" Введите пароль ", 8, 8, 297, 97)
$Checkbox1 = GUICtrlCreateCheckbox($sTextCheckbox1, 16, 72, 193, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If GUICtrlGetState($Input1) = 80 Then
If GUICtrlRead($Input1) <> $sPASSVORD Then
MsgBox(48,"","Не верный пароль")
Else
MsgBox(64,"","Верный пароль")
Exit
EndIf
Else
If GUICtrlRead($Input2) <> $sPASSVORD Then
MsgBox(48,"","Не верный пароль")
Else
MsgBox(64,"","Верный пароль")
Exit
EndIf
EndIf
EndSwitch
WEnd
Func WM_COMMAND($nHnwd, $MsgID, $WParam, $LParam)
Local $iIDFrom = BitAND($WParam, 0xFFFF) ; Low Word
Local $iCode = BitShift($WParam, 16) ; Hi Word
Local $aRead[2] = [GUICtrlRead($iIDFrom), GUICtrlRead($iIDFrom, 1)]
If $aRead[1] = $sTextCheckbox1 Then
If GUICtrlRead($Checkbox1) = 4 Then
GUICtrlSetState($Input1, $GUI_SHOW)
GUICtrlSetState($Input2, $GUI_HIDE)
GUICtrlSetData($Input1, GUICtrlRead($Input2))
GUICtrlRead($Input2)
Else
GUICtrlSetState($Input2, $GUI_SHOW)
GUICtrlSetState($Input1, $GUI_HIDE)
GUICtrlSetData($Input2, GUICtrlRead($Input1))
GUICtrlRead($Input1)
EndIf
EndIf
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
Вот пример ГУИ, который должен загружатся после ввода правильного пароля.
Код:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Form2", 405, 294, 303, 219)
$Button1 = GUICtrlCreateButton("Button1", 17, 59, 117, 55, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Что посоветует в этой ситуации?