Показать полную графическую версию : Окно ввода
Требуется батник чтобы при запуске, через некоторое время (например, 30 секунд) выскочило GUI окно с полем для ввода пароля, если пароль верный - в батнике пишет (echo Пароль введен верно), если неправильный - пишет "Пароль введен неверно, уточните пароль у Вашего оператора".
Заранее спасибо, если на самом деле работоспособно будет - 100 руб отломать будет не жалко на Ваш счет.
DmitriiV
01-08-2013, 10:24
feAre, во-первых, непонятно, зачем смешивать консольный и графический режимы. Во-вторых, непонятно, каким именно образом Вы собираетесь проверять корректность пароля.
Советую указать цель, ради которой решается эта задача. Возможно, в этом случае Вам укажут на более подходящее решение.
Думаю через наши консольные команды осуществить это возможно, просто при открытии батника всплывается GUI окно
, с полем ввода, человек туда пишет пароль и нажимает на "ОК", неправильный - "echo Пароль неверный" - правильный "echo Пароль верный". Цель: Пройти проверку прежде чем приступить к работе.
DmitriiV
01-08-2013, 12:15
... через наши консольные команды...О каких командах речь?
... при открытии батника всплывается GUI окно...Зачем смешивать режимы? Почему нельзя обойтись каким-либо одним?
... неправильный - "echo <...> правильный "echo...Как именно сценарий должен отличить правильный пароль от неправильного?
Цель: Пройти проверку прежде чем приступить к работе.О чём конкретно речь: о начале сеанса работы в ОС, о запуске какого-либо приложения, о доступе к какому-либо ресурсу?..
Через стандартные команды, Вам лучше знать.
Вообщем, суть Вы поняли, главное осуществить.
DmitriiV
01-08-2013, 14:42
... суть Вы поняли...Если бы понял, то не задавал бы вопросов.
Поскольку ни на один из вопросов внятного ответа так и не дано, то остаётся надеяться, что тема заинтересует телепатов.
sunnykey
03-08-2013, 16:58
Цитата DmitriiV:
Если бы понял, то не задавал бы вопросов.
Поскольку ни на один из вопросов внятного ответа так и не дано, то остаётся надеяться, что тема заинтересует телепатов. »
Что вы пристали к человеку?:) Хочет окно в командной строке, пускай получит:)
#Powershell script.
#Don't forget unlock script executing by
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
#Save this file with ".ps1" extension
$Global:password
function GetHash($InputString) {
$md5=New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$utf8=New-Object -TypeName System.Text.UTF8Encoding
$hash=[System.BitConverter]::ToString($md5.ComputeHash($utf8.GetBytes($InputString)))
return $hash
}
$form=New-Object -TypeName System.Windows.Forms.Form
$form.Text="Запрос пароля"
$form.FormBorderStyle=[System.Windows.Forms.FormBorderStyle]::FixedDialog -bor `
[System.Windows.Forms.FormBorderStyle]::None
$form.MinimizeBox=$false
$form.MaximizeBox=$false
$form.Width=185
$form.Height=185
$textbox=New-Object -TypeName System.Windows.Forms.TextBox
$textbox.PasswordChar="#"
$textbox.Top=$form.Height/2-$textbox.Top-50
$textbox.Left=$form.Width/2-$textbox.Width+45
$button=New-Object -TypeName System.Windows.Forms.Button
$button.Text="Отправить"
$button.Left=$form.Width/2-$button.Width+35
$button.Top=$form.Height/2+$button.Top
$button.Add_Click({
$Global:password=$textbox.Text
$form.Close()
})
$form.Controls.Add($button)
$form.Controls.Add($textbox)
$form.ShowDialog()
$CurHash=GetHash -InputString $password
$CurHash=GetHash -InputString $CurHash+"-"+$CurHash.SubString(0,5)
#убрать следующую строку, чтобы хэш с солью не отображался в окне командной строки
$CurHash
########################################
#сравнение солёного хэша с введёным паролем 123456
if ($CurHash -eq "42-50-04-E3-5B-EE-0C-95-22-C2-F4-CF-18-E7-53-43") {
"Пароль верен"
} else {
"Неправильный пароль"
}
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.