Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Зависает скрипт при вводе пароля (http://forum.oszone.net/showthread.php?t=203763)

Rrider 02-04-2011 22:42 1649705

Зависает скрипт при вводе пароля
 
При вводе пароля в окне идентификации пользователя скрипт зависает. Т.е. если пароль состоит из 8 символов, то скрипт может ввести 1,3 или 5 символов и остановиться. В половине случаев ему удается ввести пароль полностью и программа успешно запускается. Обычно это наблюдается при запуске скрипта из Автозагрузки при загрузке Windows. Если скрипт запустить вручную, то программа запускается успешно.
Я так понимаю, что какие-то процессы происходящие в конце загрузки Windows мешают нормальной работе скрипта. Что можно сделать в моем случае? Часть кода (взятый с этого форума), привожу ниже.
Еще обратил внимание, что если в момент ввода пароля курсор мыши принимает вид песочных часов, то скрипт пароль не введет.
===================================
Windows 7 64-бит

Код:

run ("info.exe")
$sTitle = "Идентификация пользователя"
$hWindow = WinWait($sTitle, '', 60) ;ждем появления окна с заголовком $sTitle и любым текстом 5 секунд
If Not $hWindow Then ;если не дождались окна ($hWindow = 0)
    MsgBox(16, 'Ошибка', 'Нет такого окна')
    Exit ;заканчиваем работу.
EndIf
Sleep(10000)
WinActivate  ($sTitle)
$sLog=RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SysLog","Key1")
$sPass=RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SysLog","Key2")
ControlSetText($sTitle, '', 'Static3', $sLog)
ControlSetText($sTitle, '', 'Static4', $sPass)
ControlClick($sTitle, '', 'Button1')


TERMINAL 07-04-2011 15:30 1653079

А если просто попробовать Send ($sPass) ?

Rrider 08-04-2011 10:42 1653673

Пробовал, то же самое, сейчас на этом методе, кстати, и остановился . Пока решил проблему используя Sleep, те жду когда закончатся процессы связанные с загрузкой Windows. Пока работает стабильно.
Но на самом деле правильным решением была бы проверка - ввелся пароль или нет, если не ввелся повторять ввод до успешного результата. Но как проверить ввелся пароль или нет я пока не нашел...


Время: 11:45.

Время: 11:45.
© OSzone.net 2001-