|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Блок компа и перезагрука после отработки батника |
|
[решено] Блок компа и перезагрука после отработки батника
|
Ветеран Сообщения: 2756 |
Есть скрипт в учебнике такого вот плана:
#NoTrayIcon BlockInput ( 1 ) $j=60 ProgressOn("Пожалуйста, подождите...", "Происходит настройка Windows", "Компьютером можно пользоваться после" & CHR(10) & "перезагрузки через " & $j & " сек.") For $i = 1 to 99 step 100/$j $j=$j-1 sleep(1000) ProgressSet( $i, "Компьютером можно пользоваться после" & CHR(10) & "перезагрузки через " & $j & " сек.") Next ProgressSet(-1 , "Желаю приятного пользования данной сборкой" & CHR(10) & "Windows XP 2010 от Pozia") Shutdown(2) sleep(5000) Прошу модифицировать его до такой логики - нужно чтобы данный скрипт запускался и вместо таймера была просто надпись Пожалуйста, подождите... Происходит настройка Windows и при этом запускался батник рядом лежащий. Как только батник отработал, то бишь его процесс в диспетчере задач исчез, нужно чтобы появился в этом же окне вместо надписи таймер секунд в 10 с надписью - Компьютером можно пользоваться после перезагрузки через 10 (здесь таймер отсчелкивает) сек. Желаю приятного пользования данной сборкой Windows XP 2010 от Pozia. Спасибо. PS команда BlockInput ( 1 ) легко сбивается запуском диспетчера задач. Может есть способ блока компа без возможности снятия блока? |
|
------- Отправлено: 19:59, 24-01-2010 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
#NoTrayIcon #include <BlockInputEx.au3> Opt("WinWaitDelay", 1) $sTaskMgr_Title = "[CLASS:#32770;REGEXPTITLE:(Диспетчер задач|Task Manager)]" ;Disable Task Manager RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", "1") _BlockInputEx(1) ProgressOn("Пожалуйста, подождите...", "Происходит настройка Windows") $iBat_PID = Run(@ScriptDir & "\BatFile.bat") While ProcessExists($iBat_PID) If WinExists($sTaskMgr_Title) Then WinClose($sTaskMgr_Title) Sleep(100) WEnd $iTimer = 10 $iStep = (100 / $iTimer) $iPrgrs = 100 $iTimerInit = TimerInit() While $iTimer >= 0 Sleep(10) If WinExists($sTaskMgr_Title) Then WinClose($sTaskMgr_Title) If TimerDiff($iTimerInit) >= 1000 Then $iPrgrs -= $iStep ProgressSet($iPrgrs, _ "Компьютером можно пользоваться после" & @CRLF & "перезагрузки, через " & $iTimer & " сек.", _ "Настройка Windows завершена") $iTimer -= 1 $iTimerInit = TimerInit() EndIf WEnd ProgressSet(-1, "Желаю приятного пользования данной сборкой" & @CRLF & "Windows XP 2010 от Pozia") ;Enable Task Manager back RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", "REG_DWORD", "0") Shutdown(2) Sleep(5000) |
|
------- Отправлено: 00:54, 25-01-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
#include <BlockInputEx.au3> ;================== hWindows usage Example ================== HotKeySet("{ESC}", "_Quit") ;Это вызовет выход из скрипта (на любом окне кроме блокнота (см. далее)). Run(@WindowsDir & "\Notepad.exe", "", @SW_MAXIMIZE) WinWait("[REGEXPCLASS:Notepad.*]") $hNotepad_Wnd = WinGetHandle("[REGEXPCLASS:Notepad.*]") ControlSetText($hNotepad_Wnd, "", "", _ "Now try to input some keys in here..." & @CRLF & _ "Well, that's the idea, you can't, don't you?" & @CRLF & @CRLF & ":)") ;Здесь мы блокируем *все* клавишы на клавиатуре для определённого окна (в этом случае окно Блокнота). _BlockInputEx(3, "", "", $hNotepad_Wnd) ;Это только для отладки, на сллучай если что то нарушится, скрипт завершит свою работу через 10 секунд. AdlibEnable("_Quit", 10000) While 1 Sleep(100) WEnd Func _Quit() Exit EndFunc |
|
------- Отправлено: 00:51, 26-01-2010 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
P.S Там чтобы видеть прикреплённые файлы нужно регистрироваться. Этот архив также есть тут, но не уверен, возможно и тут нужна регистрация. Цитата Pozia:
|
||
------- Отправлено: 01:08, 26-01-2010 | #4 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Цитата Creat0R:
Creat0R, при запуски скрипта автоит в окне есть полоса прогресса которая пустая и только после отработки батника она заполняется и начинает уменьшаться. Можно ли от нее до появления таймера избавится? Так будет думаю красивее ![]() |
|||
------- Отправлено: 07:35, 26-01-2010 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
|
|
------- Отправлено: 19:34, 26-01-2010 | #6 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Creat0R, сделал вот так:
Получилось не совсем то. Окно Пожалуйста, подождите...", "Происходит настройка Windows вообще не появляется пока идет работа батника, и только показывает таймер перезагрузки. А хотелось бы чтобы пока работал батник показывало окно Пожалуйста, подождите...", "Происходит настройка Windows |
------- Отправлено: 19:57, 26-01-2010 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Pozia:
...... ProgressOn("Пожалуйста, подождите...", "Происходит настройка Windows", "", -500, -500) $hProgress_Win = WinGetHandle("Пожалуйста, подождите...", "Происходит настройка Windows") ControlHide($hProgress_Win, "", "msctls_progress321") WinMove($hProgress_Win, "", (@DesktopWidth / 2)-(306/2), (@DesktopHeight / 2)-(125/2)) ..... While ProcessExists($iBat_PID) If WinExists($sTaskMgr_Title) Then WinClose($sTaskMgr_Title) Sleep(100) WEnd ControlShow($hProgress_Win, "", "msctls_progress321") ..... |
|
------- Отправлено: 20:22, 26-01-2010 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Системный блок перестал работать после чистки | xkspy | Непонятные проблемы с Железом | 35 | 04-06-2013 13:59 | |
Разное - как использовать блок питания для бытовых нужд. Вне компа. | viter_alex | Прочее железо | 10 | 13-06-2011 09:47 | |
[решено] Проблемы после чистки компа | shango | Материнские платы и память | 12 | 29-01-2010 22:45 | |
CMD/BAT - [решено] Зависание виртуальной машины после запуска батника | ZeroCrash | Скриптовые языки администрирования Windows | 12 | 16-07-2009 11:07 | |
[решено] Скрипт для продолжения установки после отработки процесса | Pozia | AutoIt | 5 | 15-05-2009 18:39 |
|