|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36560 |
Внимание! В связи с созданием отдельного форума по 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 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать трудт
- если для автозапуска использовать ключ реестра "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx", то после перезагрузки (сразу после логона) система сама запустит прогу и удалит этот параметр из реестра; - пример определения типа запуска скрипта (с параметром или без): |
Отправлено: 07:29, 03-09-2008 | #831 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать я новичок в этом деле и пока недружу с регистром, можешь подробнее написать как к нему обратиться, самы суть я понял
|
Отправлено: 19:03, 03-09-2008 | #832 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать трудт
Смотри функцию RegWrite() |
------- Отправлено: 07:24, 04-09-2008 | #833 |
![]() Старожил Сообщения: 232
|
Профиль | Сайт | Отправить PM | Цитировать Народ хелп! я толька начал писать на AutoIT, нужна помощь.
Как сделать так чтобы после таго как я создал GUICtrlCreateButon(...) задать этой кнопки некие параметры. Я пробЫвал так: GuiCtrlCreate(...) ;Создал окно $Knopka = GUICtrlCreateButon(...) ;Создал кнопку GUISetState(@SW_Show) $NewWindow = GuiCtrlCreate(...) ;Это окно должно появить после таго как я нажал на кнопку ....... ....... $GUISetState(@SW_Show) while 1 local $msg $msg = GuiGetMsg() if $msg = $Knopka Then $NewWindow Endif Wend После того как я нажимаю на кнопку ни чего не происходит. Что я делаю не так? И ещё вопросик. После того как я создал элемент GUICtrlCreateInput(...), мне нужно чтоб юзер ввёл в элемент Инпут какое то значение и чтоб программа могла использовать это эначение (т.е как считать, то что ввёл юзер. Это что то подобное функции Scanf() в Cи) Сори, что не раскрасил и не привёл в норм вид текст... пишу на работе, нет возможности. |
------- Отправлено: 11:03, 05-09-2008 | #834 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать ganselo
1. #include <GuiConstantsEx.au3> $hGUI_Main = GUICreate("Main GUI", 300, 200) $AboutButton = GUICtrlCreateButton("About", 105, 50, 75, 23) $hGUI_Child = GUICreate("Child GUI", 200, 100, -1, -1, -1, -1, $hGUI_Main) GUISetState(@SW_SHOW, $hGUI_Main) While 1 $msg = GUIGetMsg(1) Select Case ($msg[0] = $GUI_EVENT_CLOSE) And ($msg[1] = $hGUI_Main) Exit Case ($msg[0] = $GUI_EVENT_CLOSE) And ($msg[1] = $hGUI_Child) GUISetState(@SW_ENABLE, $hGUI_Main) GUISetState(@SW_HIDE, $hGUI_Child) Case $msg[0] = $AboutButton GUISetState(@SW_DISABLE, $hGUI_Main) GUISetState(@SW_SHOW, $hGUI_Child) EndSelect WEnd Смотри в справке функцию GuiCtrlRead() Цитата:
![]() |
|
------- Отправлено: 11:23, 05-09-2008 | #835 |
![]() Старожил Сообщения: 232
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Maza Faka:
|
|
------- Отправлено: 11:28, 05-09-2008 | #836 |
![]() Старожил Сообщения: 232
|
Профиль | Сайт | Отправить PM | Цитировать ещё вопросик. Есть функция:
Func ProcessControl() $i=ProcessWait("Explorer.exe")=0 Do $i=$i+1 ProcessWait("Explorer.exe") ProcessClose("Explorer.exe") $PID = ProcessExists("Explorer.exe") If $PID Then ProcessClose ($PID) EndIf until $i=1111111 EndFunc Как сделать так чтобы после нажатия ещё одной кнопки "STOP", функция ProcessControl() заканчивала своё действие? |
------- Отправлено: 15:25, 05-09-2008 | #837 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Начал 2 дня назад изучать автоит, все шло нормально, пока не решил сделать для программы оболочку... В общем такая проблема, не могу сделать так, что бы после нажатия кнопки "Старт" продолжалось выполнение скрипта по заданным в оболочке параметрам. Функцию кнопки "Старт" я оставил пустую, просто не знаю что туда записать. можно ли что-то сделать? Или придется весь скрипт переделать? До этого времени на оф сайте автоита искал нужную мне информацию, но сегодня он что-то не грузится,так что надеюсь на вашу помощь! Добавлю, что я не программист вообще, автоит это мой первый опыт, не судите строго
![]() #include <GUIConstants.au3> #include <Misc.au3> #include <Fade.au3> Opt("GUIOnEventMode", 1) GUICreate("Test", 250, 200, 1024, 0) GUISetBkColor(0xFFFFFF) GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents") GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents") GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents") GUISetState(@SW_SHOW) $tab=GUICtrlCreateTab (10,10, 230,180) $tab2=GUICtrlCreateTabitem ("3") GUICtrlCreateLabel ("3", 30,53,130,20) $tab2combo=GUICtrlCreateCombo ("", 170,50,60,40) GUICtrlSetData(-1,"40|30|20", "30") ; default 80% $tab1=GUICtrlCreateTabitem ( "2") GUICtrlCreateLabel ("2", 30,53,130,20) $tab1combo=GUICtrlCreateCombo ("", 170,50,60,40) GUICtrlSetData(-1,"70|80|90", "90") ; default 80% $MHP=GUICtrlRead($tab1combo) $tab0=GUICtrlCreateTabitem ("1") GUICtrlSetState(-1,$GUI_SHOW) ; will be display first GUICtrlCreateLabel ("X", 30,53,50,20) GUICtrlCreateLabel ("Y", 30,103,50,20) $tab0Start=GUICtrlCreateButton ("Save and Start", 10,150,115,20) GUICtrlSetOnEvent(-1, "OKPressed") $tab0Exit=GUICtrlCreateButton ("Exit", 125,150,115,20) GUICtrlSetOnEvent(-1, "CancelPressed") $tab01input=GUICtrlCreateInput ("X", 80,50,90,20) $tab02input=GUICtrlCreateInput ("Y", 80,100,90,20) GUICtrlCreateTabitem ("") ; end tabitem definition GUISetState () $Acc = IniRead(@MyDocumentsDir & "\test.ini", "Enter", "X", "") GUICtrlSetData($tab01input, $Acc) $Pass = IniRead(@MyDocumentsDir & "\test.ini", "Enter", "Y", "") GUICtrlSetData($tab02input, $Pass) Func Write() iniWrite(@MyDocumentsDir & "\test.ini", "Enter", "X", GUICtrlRead($tab01input)) IniWrite(@MyDocumentsDir & "\test.ini", "Enter", "Y", GUICtrlRead($tab02input)) $MHP=GUICtrlRead($tab1combo) Select Case $MHP= "70" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HP", "70") Case $MHP= "80" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HP", "80") Case $MHP= "90" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HP", "90") EndSelect $MHPex=GUICtrlRead($tab2combo) Select Case $MHPex= "20" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HPex", "20") Case $MHPex= "30" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HPex", "30") Case $MHPex= "40" iniWrite(@MyDocumentsDir & "\test.ini", "Pup", "HPex", "40") EndSelect EndFunc While 1 Write() Wend Func OKPressed() ; ВОТ СЮДА ЧТО ПИСАТЬ, ЧТО БЫ ЦИКЛ ПРЕРВАТЬ И ПРОДЛЖИТЬ ГРУЗИТЬ СКРАИПТ? EndFunc Func CancelPressed() Exit EndFunc Func SpecialEvents() Select Case @GUI_CTRLID = $GUI_EVENT_CLOSE Exit Case @GUI_CTRLID = $GUI_EVENT_MINIMIZE Case @GUI_CTRLID = $GUI_EVENT_RESTORE EndSelect EndFunc |
Отправлено: 17:10, 05-09-2008 | #838 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
#include <GuiConstants.au3> Global $iProcCntrl_IsActive = False $GUI = GUICreate("Test Script", 300, 200) $Start_Button = GUICtrlCreateButton("Start", 20, 40, 60, 20) GUISetState(@SW_SHOW, $GUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $Start_Button If Not $iProcCntrl_IsActive Then $iProcCntrl_IsActive = True ProcessControl() EndIf EndSwitch WEnd Func ProcessControl() $i = ProcessWait("Explorer.exe") = 0 $iOldOpt = Opt("GUIOnEventMode", 0) ;Это чтобы проверять событие нажатой кнопки (в случае испол. режима OnEvent) Do $i += 1 ProcessWait("Explorer.exe") ProcessClose("Explorer.exe") $PID = ProcessExists("Explorer.exe") If $PID Then ProcessClose($PID) If GUIGetMsg() = $Start_Button Then $iProcCntrl_IsActive = False ExitLoop EndIf Until $i = 1111111 Opt("GUIOnEventMode", $iOldOpt) EndFunc |
|
------- Отправлено: 17:13, 05-09-2008 | #839 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать ganselo
Объявляем глобальную переменную и при нажатии на кнопку стоп присваиваем ей какое нибудь значение. В цикле функции ProcessControl() проверяем значение этой переменной и, если оно соответствует нужному нам значению, выходим из функции |
------- Отправлено: 17:23, 05-09-2008 | #840 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 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 |
|