|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты |
|
[Архив - Часть 1.2] AutoIt скрипты
|
Ветеран Сообщения: 565 |
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. |
|
------- Отправлено: 10:47, 10-02-2006 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Sanja Alone
Цитата:
![]() Цитата:
А затем, аутоитом проверять первую строку временного файла: amel27 Цитата:
![]() Angelus Цитата:
Если в скрипте есть строка скрывающая иконку скрипта в трее (#NoTrayIcon), то её нужно временно закоментировать (дописать в начале строки символ ; ). И когда запустишь скрипт, то наведи мышку на иконку скрипта в трее, и посмотри на какой строке “зависает” скрипт. Как я это вижу, скрипт зависает на одной из строк, содержащей WinWait или WinWaitActive - желательно ставить время, по истичению которого, скрипт больше не будет “ждать” появления окна или его активности... |
||||
------- Отправлено: 01:49, 25-10-2006 | #421 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ищу Человека… Сообщения: 420
|
Профиль | Сайт | Отправить PM | Цитировать Creat0R
Цитата:
Angelus
|
|
------- Отправлено: 03:56, 25-10-2006 | #422 |
Новый участник Сообщения: 35
|
Профиль | Отправить PM | Цитировать Есть неплохая идея: написать оболочку (GUI) для авторизации запуска скрипта от имени админа.
начал писать и наткнулся на проблемку - незнаю как реализовать проверку строки RunAsSet на наличие прав администратора вот код: #include <GUIConstants.au3> GUICreate("Авторизация", 198, 125) ;фон окна GUISetBkColor (0x00E0FFFF) ;лейблы GUICtrlCreateLabel("Имя администратора", 25, 5) GUICtrlCreateLabel("Пароль администратора", 25, 50) ;запуск и отмена скрипта $ok = GUICtrlCreateButton("Ok", 25, 98, 70,20) $cancel = GuiCtrlCreateButton ("Cancel",105,98,70,20) ;ввод имени $us = @UserName $in1 =GUICtrlCreateCombo ($us, 25, 25, 150, 20) GUICtrlSetData($in1, "admin|qwerty|Администратор|Винни-Пух") GUICtrlSetTip(-1,"введите имя любой учётной записи" & @CRLF & "имеюшей права Администратора") ;ввод пароля $in2 = GUICtrlCreateInput ("solo11", 25, 70, 150, 20, 0x20) GUICtrlSetTip(-1,"введите пароль") GUISetState(@SW_SHOW) While 2 $msg = GUIGetMsg() ;считываем введённые данные $out1 = GUICtrlRead($in1) $out2 = GUICtrlRead($in2) Global $user = $out1, $pass = $out2 Select Case $msg = $ok ;инициализация запуска от имени админа RunAsSet($user, "", $pass) ;проверка верны ли введённые записи на право обладания правами админа ;вот здесь незнаю как реализовать проверку. написал но думается неправильно ;--------------------------------------- if IsAdmin() = -1 Then MsgBox(16, "Ошибка", "Данная учётная запись не обладает правами Администратора") EndIf ;--------------------------------------- ;запуск программы Run("setup.exe") ;закрытие окна Case $msg = $cancel ExitLoop Case $msg = $GUI_EVENT_CLOSE ExitLoop EndSelect WEnd ;------------------------------------- Помогайте решать ! ![]() |
Последний раз редактировалось Lodoss, 29-10-2006 в 19:18. Отправлено: 19:11, 29-10-2006 | #423 |
Ищу Человека… Сообщения: 420
|
Профиль | Сайт | Отправить PM | Цитировать Lodoss
Цитата:
#include <GUIConstants.au3> Opt("RunErrorsFatal",0) ;что запускать $what_to_run="setup.exe" If IsAdmin() Then ;запуск программы Run($what_to_run) Else ;если не админ, то "рисуем" GUI _GUI() EndIf Func _GUI() GUICreate("Авторизация", 198, 125) ;фон окна GUISetBkColor (0x00E0FFFF) ;лейблы GUICtrlCreateLabel("Имя администратора", 25, 5) GUICtrlCreateLabel("Пароль администратора", 25, 50) ;запуск и отмена скрипта $ok = GUICtrlCreateButton("Ok", 25, 98, 70,20) $cancel = GuiCtrlCreateButton ("Cancel",105,98,70,20) ;ввод имени $us = @UserName $in1 =GUICtrlCreateCombo ($us, 25, 25, 150, 20) GUICtrlSetData($in1, "admin|qwerty|Администратор|Винни-Пух") GUICtrlSetTip(-1,"введите имя любой учётной записи" & @CRLF & "имеюшей права Администратора") ;ввод пароля $in2 = GUICtrlCreateInput ("solo11", 25, 70, 150, 20, 0x20) GUICtrlSetTip(-1,"введите пароль") GUISetState(@SW_SHOW) While 1 $msg = GUIGetMsg() ;считываем введённые данные $out1 = GUICtrlRead($in1) $out2 = GUICtrlRead($in2) Global $user = $out1, $pass = $out2 Select Case $msg = $ok ;инициализация запуска от имени админа RunAsSet($user, "", $pass) ;проверка верны ли введённые записи на право обладания правами админа ;--------------------------------------- if IsAdmin() Then ;запуск программы Run($what_to_run) If @error Then MsgBox(16, "Ошибка", "Введен неправильный пароль или отсутствует файл "&$what_to_run&@LF&@LF&"Попробуйте еще раз.",5) EndIf Else MsgBox(16, "Ошибка", "Данная учётная запись не обладает правами Администратора",5) EndIf ;--------------------------------------- ;закрытие окна Case $msg = $cancel ExitLoop Case $msg = $GUI_EVENT_CLOSE ExitLoop EndSelect WEnd ;------------------------------------- EndFunc |
|
------- Отправлено: 08:24, 30-10-2006 | #424 |
Пользователь Сообщения: 144
|
Профиль | Отправить PM | Цитировать Наваял тут скрипт для FastStone Image Viewer 2.8 с последующей русификацией.
Может, кому пригодится. RunWait (@ScriptDir&'\'&'fs.exe /S') ; Тихая установка самой программы Run (@ScriptDir&'\'&'Rus.exe') ; Установка русификатора WinWait("Установка русификатора","Вас приветствует мастер") WinActivate("Установка русификатора","Вас приветствует мастер") WinWaitActive("Установка русификатора","Вас приветствует мастер") Send("{ENTER}") Send("{ENTER}") WinWait("Установка русификатора","Внимательно ознакомьтесь") WinActivate("Установка русификатора","Внимательно ознакомьтесь") WinWaitActive("Установка русификатора","Внимательно ознакомьтесь") Send("{UP}{UP}{ENTER}") WinWait("Установка русификатора","Русификатор FastStone Image Viewer 2.8 будет установлен в следующую папку") WinActivate("Установка русификатора","Русификатор FastStone Image Viewer 2.8 будет установлен в следующую папку") WinWaitActive("Установка русификатора","Русификатор FastStone Image Viewer 2.8 будет установлен в следующую папку") Send("{ENTER}") WinWait("Установка русификатора","Русификатор FastStone Image Viewer 2.8 будет установлен в папку") WinActivate("Установка русификатора","Русификатор FastStone Image Viewer 2.8 будет установлен в папку") WinWaitActive("Установка русификатора","Русификатор FastStone Image Viewer 2.8 будет установлен в папку") Send("{ENTER}") WinWait("Установка русификатора","Русификатор FastStone Image Viewer 2.8 успешно установлен") WinActivate("Установка русификатора","Русификатор FastStone Image Viewer 2.8 успешно установлен") WinWaitActive("Установка русификатора","Русификатор FastStone Image Viewer 2.8 успешно установлен") Send("{UP}{SPACE}{UP}{ENTER}") |
Последний раз редактировалось Jilted, 30-10-2006 в 12:51. Отправлено: 11:45, 30-10-2006 | #425 |
Новый участник Сообщения: 35
|
Профиль | Отправить PM | Цитировать 2Sanja Alone
Да это, но наполовину. проверил: Если пользователь админ - оболочка не запускается как и хотелось , если GUI запускается проверка учётки на привелегии админа Case $msg = $ok RunAsSet($user, "", $pass) if IsAdmin() Then Run($what_to_run) If @error Then MsgBox(16, "Ошибка", "Введен неправильный пароль или отсутствует файл "&$what_to_run&@LF&@LF&"Попробуйте еще раз.",5) EndIf Else MsgBox(16, "Ошибка", "Данная учётная запись не обладает правами Администратора",5) EndIf и ещё вопрос можно ли в комбо списке сделать отображение учёток обладающих этими правами администратора ![]() |
Отправлено: 17:48, 31-10-2006 | #426 |
![]() Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать Как сделать закрытие окна (Alt+F4), например окно хелпа?!
|
------- Отправлено: 12:47, 01-11-2006 | #427 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 18:03, 01-11-2006 | #428 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Хотелось бы решить такую задачу...
Имеется файл, а в нём много разного текста, и нужно перечитать весь текст, и проверить, не содержатся ли в нём дубликаты определённой переменной. Т.е, допустим файл содержит такой текст: И заранее известно, что именно нужно искать, и это помещенно в переменную - $Var = "Просто текст"... Нужно в этом файле вычеслить, повторяется ли этот самый текст (тот который в переменной), если есть совпадения, то желательно вернуть номер строчки где есть совпадение, и строку содержащюю найденый дубликат (в Array[1].. [2] и т.п). Возможно уже есть такая опция в AutoIt, но я что-то затрудняюсь найти в справке подобную функцию ![]() |
------- Отправлено: 08:08, 02-11-2006 | #429 |
![]() Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать Creat0R
Спасибо тебе-(Send("!{F4}")) конкретно помогло. Вопрос ещё один. У меня в программе ACDSee 8 вводится ключ в поле регистрации,но на совремменых компах он успевает вводится, а на слабых компах скрипт успевает ввести только 4 первых символа (паузы почемуто непомогают). Как сделать чтобы скрипт дождался полного ввода серийника. Global $serial='12345-67890-12345-67890' Run ( @ScriptDir & '\' & 'Setup.exe' ) WinWait("ACDSee 8 - InstallShield Wizard","ACDSee 8 can run with previous") WinActivate("ACDSee 8 - InstallShield Wizard","ACDSee 8 can run with previous") ControlClick("ACDSee 8 - InstallShield Wizard","ACDSee 8 can run with previous","Button1") WinWait("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic") WinActivate("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic") ControlClick("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic","Button3") ControlClick("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic","Button5") WinWait("ACDSee 8 - InstallShield Wizard","&Organization:") WinActivate("ACDSee 8 - InstallShield Wizard","&Organization:") ControlClick("ACDSee 8 - InstallShield Wizard","&Organization:","RichEdit20W3") ControlSetText ( 'ACDSee 8 - InstallShield Wizard', 'Customer Information', 'Edit3', $serial) ;Send($serial) Sleep(5000) ControlClick("ACDSee 8 - InstallShield Wizard","&Organization:","Button8") WinWait("ACDSee 8 - InstallShield Wizard","&Complete") WinActivate("ACDSee 8 - InstallShield Wizard","&Complete") |
Последний раз редактировалось Sanja Alone, 04-11-2006 в 03:30. Причина: добавление тэга code Отправлено: 10:40, 02-11-2006 | #430 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|