|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36561 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
![]() Ветеран Сообщения: 2907
|
Профиль | Отправить PM | Цитировать Может глупый вопрос, но... нашел тут на форуме такой AutoIt-скрипт создания удаленного соединения:
Run("rundll32.exe netshell.dll,StartNCW") WinWaitActive ('Мастер новых подключений','Мастер новых подключений') Send('{Enter}') Sleep ('500') WinWaitActive ('Мастер новых подключений','Подключить к Интернету для просмотра веб-узлов и чтения электронной почты.') ControlClick ('Мастер новых подключений','Подключить к Интернету для просмотра веб-узлов и чтения электронной почты.','Button1') Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Каким образом подключиться к Интернету') ControlClick ('Мастер новых подключений','Каким образом подключиться к Интернету','Button2') Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Данное подключение использует модем и обычную телефонную линию или телефонную линию ISDN.') ControlClick ('Мастер новых подключений','Данное подключение использует модем и обычную телефонную линию или телефонную линию ISDN.','Button1') Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Им&я поставщика услуг') ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Peterstar' ) Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Номер &телефона:') ControlSetText ( 'Мастер новых подключений', '', 'Edit1', '3203370,,,' ) Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','&Имя пользователя:') sleep (100) ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Login') sleep (100) ControlSetText ( 'Мастер новых подключений', '', 'Edit2', 'Password') Send('{tab}') sleep (100) ControlSetText ( 'Мастер новых подключений', '', 'Edit3', 'Password') Sleep ('500') ControlCommand ( 'Мастер новых подключений', '', 'Button13', 'Check', '' ) ControlCommand ( 'Мастер новых подключений', '', 'Button2', 'Check', '' ) Sleep ('500') Send('{Enter}') WinWaitActive ('Мастер новых подключений','Завершение работы мастера новых подключений') ControlCommand ( 'Мастер новых подключений', '', 'Button20', 'UnCheck', '' ) Send('{Enter}') Exit |
Отправлено: 20:59, 19-02-2008 | #151 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 2907
|
Профиль | Отправить PM | Цитировать Все! Нашел! Надо добавить в самый верх скрипта:
А потом в скрипте убрать 'Login', а вместо него написать $login С паролем все по аналогии. Не понял одно, как сделать, чтобы при нажатии Cancel работа скрипт завершалась, а не переходила как по OK к следующему окну. |
Отправлено: 21:23, 19-02-2008 | #152 |
![]() Ветеран Сообщения: 2907
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:57, 19-02-2008 | #153 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Котяра,
Цитата:
_Input_LoginPass_Dialog() If @error Then Exit ;Тут основное содержание скрипта Func _Input_LoginPass_Dialog() #include <GuiConstants.au3> Local $GUI = GUICreate("Ввод данных", 300, 200) GUICtrlCreateLabel("Ввод логина:", 20, 30) Local $Login_Input = GUICtrlCreateInput("", 20, 50, 260, 20) GUICtrlCreateLabel("Ввод пароля:", 20, 90) Local $Password_Input = GUICtrlCreateInput("", 20, 110, 260, 20) Local $OK_Button = GUICtrlCreateButton("OK", 20, 160, 60, 20) Local $Cancel_Button = GUICtrlCreateButton("Отмена", 100, 160, 60, 20) GUISetState(@SW_SHOW, $GUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $Cancel_Button GUIDelete($GUI) Return SetError(1, 0, 0) Case $OK_Button Local $aRet[2] = [GUICtrlRead($Login_Input), GUICtrlRead($Password_Input)] If $aRet[0] = "" Then MsgBox(48, "Внимание!", "Введите пожалуйста логин.") ControlFocus($GUI, "", $Login_Input) ContinueLoop EndIf If $aRet[1] = "" Then MsgBox(48, "Внимание!", "Введите пожалуйста пароль.") ControlFocus($GUI, "", $Password_Input) ContinueLoop EndIf GUIDelete($GUI) Return $aRet EndSwitch WEnd EndFunc Цитата:
$login= InputBox("Установка Интернета", "Введите логин Интернета:", "", "") If @error = 1 Then Exit Цитата:
|
|||
------- Отправлено: 22:11, 19-02-2008 | #154 |
![]() Ветеран Сообщения: 2907
|
Профиль | Отправить PM | Цитировать Creat0R, спасибо за ответ.
Теперь я делаю так, чтобы спрашивались 4 параметра: имя подключения, номер, логин, пароль. Цель: создать программу, которая помогала бы "чайникам" настроить подключение к Интернету |
Отправлено: 00:34, 20-02-2008 | #155 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Котяра,
Цитата:
![]() На всякий случай: $aInputs = _Input_LoginPass_Dialog() If @error Then Exit $ConnectionName = $aInputs[0] $Number = $aInputs[1] $Login = $aInputs[2] $Password = $aInputs[3] MsgBox(64, "Результаты:", _ StringFormat("Имя подключения: %s \nНомер: %s \n\nЛогин: %s \nПароль: %s", _ $aInputs[0], $aInputs[1], $aInputs[2], $aInputs[3])) ;Тут основное содержание скрипта Func _Input_LoginPass_Dialog() #include <GuiConstants.au3> Local $GUI = GUICreate("Ввод данных", 300, 280) GUICtrlCreateLabel("Ввод имени подключения:", 20, 20) Local $ConnectionName_Input = GUICtrlCreateInput("", 20, 40, 260, 20) GUICtrlCreateLabel("Ввод номера (подключения?):", 20, 70) Local $Number_Input = GUICtrlCreateInput("", 20, 90, 260, 20) GUICtrlCreateLabel("Ввод логина:", 20, 120) Local $Login_Input = GUICtrlCreateInput("", 20, 140, 260, 20) GUICtrlCreateLabel("Ввод пароля:", 20, 170) Local $Password_Input = GUICtrlCreateInput("", 20, 190, 260, 20, $ES_LEFT+$ES_AUTOHSCROLL+$ES_PASSWORD) Local $OK_Button = GUICtrlCreateButton("OK", 20, 240, 60, 20) Local $Cancel_Button = GUICtrlCreateButton("Отмена", 100, 240, 60, 20) GUISetState(@SW_SHOW, $GUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE, $Cancel_Button GUIDelete($GUI) Return SetError(1, 0, 0) Case $OK_Button Local $aRet[4] $aRet[0] = GUICtrlRead($ConnectionName_Input) $aRet[1] = GUICtrlRead($Number_Input) $aRet[2] = GUICtrlRead($Login_Input) $aRet[3] = GUICtrlRead($Password_Input) If $aRet[0] = "" Then MsgBox(48, "Внимание!", "Введите пожалуйста имя подключения.") ControlFocus($GUI, "", $ConnectionName_Input) ContinueLoop EndIf If $aRet[1] = "" Then MsgBox(48, "Внимание!", "Введите пожалуйста номер (подключения?).") ControlFocus($GUI, "", $Number_Input) ContinueLoop EndIf If $aRet[2] = "" Then MsgBox(48, "Внимание!", "Введите пожалуйста логин.") ControlFocus($GUI, "", $Login_Input) ContinueLoop EndIf If $aRet[3] = "" Then MsgBox(48, "Внимание!", "Введите пожалуйста пароль.") ControlFocus($GUI, "", $Password_Input) ContinueLoop EndIf GUIDelete($GUI) Return $aRet EndSwitch WEnd EndFunc |
|
------- Отправлено: 00:55, 20-02-2008 | #156 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Известно что у функции FileSetTime есть баг (довольно критичный в моём случае).
Установленные секунды округляются до чётного числа: $File = @TempDir & "\Test.txt" $hOpenFile = FileOpen($File, 2) FileWrite($hOpenFile, "Test") FileClose($hOpenFile) $SetTime = 20060322083529 ; - 2 FileSetTime($File, $SetTime) $GetTime = FileGetTime($File, 0, 1) MsgBox(0, "", StringFormat("Set Time: %s \nGet Time: %s", $SetTime, $GetTime)) FileDelete($File) Это возможно реализовать? нет возможности ждать пока исправят это дело в AutoIt (на бету переходить не могу по техническим причинам ![]() P.S А на счёт печяти никто так и не знает решения? amel27, не подскажешь? ![]() |
------- Отправлено: 08:18, 20-02-2008 | #157 |
![]() Ветеран Сообщения: 2907
|
Профиль | Отправить PM | Цитировать Creat0R, у меня получается. Вообще, AutoIt, классная штука
![]() Можно даже программы писать. Например, деинсталлятор: $proceeduninstall = MsgBox(4148, "Внимание!", "Сейчас программа будет удалена. Хотите продолжить?") if $proceeduninstall = '7' Then Exit FileDelete(@ScriptDir & "\example.txt") тут удаляется один файл example.txt Uninstall.exe (скомпиленный скрипт) кладете в папку программу |
Отправлено: 20:19, 20-02-2008 | #158 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Котяра,
Цитата:
![]() А если делать деинсталлятор для своей проги, то желательно чтобы он умел читать лог файл, который оставил за собой инсталлятор, и удалять только не тронутые (не изменённые) файлы ![]() |
|
------- Отправлено: 21:32, 20-02-2008 | #159 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать ![]() CaptureIt v1.0 - Эта утилита предназначена для захвата изображений с вашего экрана. ================= Главные возможности: =================
Особое спасибо amel27 за функции _FileOpen/SaveDialog, и за решение с улавливанием событий мышки ![]() |
------- Отправлено: 12:04, 21-02-2008 | #160 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ | FOX RED | Защита компьютерных систем | 67 | 21-11-2007 15:05 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|