[Архив - Часть 1.1] AutoIt скрипты
-
lemon76
Re: [Архив - Часть 1.1] AutoIt скрипты
Добрый день!
Нужна помощь профи. Есть программа, управление которой я хочу автоматизировать при помощи AutoIt. Суть проблемы в том, чтобы узнать какого цвета пиксел в данной точке экрана, черный или белый? Есть ли в AutoIt методы "считывания" цвета пиксела в заданной точке?
Заранее спасибо!
Нужна помощь профи. Есть программа, управление которой я хочу автоматизировать при помощи AutoIt. Суть проблемы в том, чтобы узнать какого цвета пиксел в данной точке экрана, черный или белый? Есть ли в AutoIt методы "считывания" цвета пиксела в заданной точке?
Заранее спасибо!
-
elakt
Re: [Архив - Часть 1.1] AutoIt скрипты
elakt
Цитата:
как избежать появления окна с вопросом на экране?
WinKill(""). Но мне неясна цель подобных действий. Если тебе нужно просто выдать сообщение, то есть другие вар-ты - банальный MsgBox(). А если ты хочешь незаметно записать что-то в файл, то для этого вообще
Цитата:
Еще вопросы:
В плане работы с сетью AutoIt пока откровенно беден. Посмотри раздел справки Network FunctionsПоискать инфу по ключам звонилки (если они есть).Макросы @InetGetActive - Is 1 if a InetGet download is currently active, otherwise is 0. @InetGetBytesRead During a InetGet download this is the number of bytes currently read. It is -1 when there is an error downloading. Доступность конкретного хоста - Ping ( address or hostname [, timeout] ).С таким условием никак.
Цитата:
как избежать появления окна с вопросом на экране?
WinKill(""). Но мне неясна цель подобных действий. Если тебе нужно просто выдать сообщение, то есть другие вар-ты - банальный MsgBox(). А если ты хочешь незаметно записать что-то в файл, то для этого вообще
не нужен
Блокнот.Цитата:
Еще вопросы:
В плане работы с сетью AutoIt пока откровенно беден. Посмотри раздел справки Network FunctionsПоискать инфу по ключам звонилки (если они есть).Макросы @InetGetActive - Is 1 if a InetGet download is currently active, otherwise is 0. @InetGetBytesRead During a InetGet download this is the number of bytes currently read. It is -1 when there is an error downloading. Доступность конкретного хоста - Ping ( address or hostname [, timeout] ).С таким условием никак.
-
elakt
Re: [Архив - Часть 1.1] AutoIt скрипты
Спасибо за ответ! Теперь появились новые вопросы.
1. Запускаем блокнот в невидимом окне:
Run("notepad.exe", "", @SW_HIDE)
2. Далее мне нужно дождаться, когда это окно появится. Среди стандартных команд не нашёл ту, которая дожидалась бы появления НЕВИДИМОГО окна, поэтому использовал команду задержки Sleep, что бы дождаться загрузки блокнота. ВОПРОС: можно ли решить эту задачу иначе?
3. После того, как блокнот загрузился, посылаю ему строку текста:
ControlSend("Безымянный - Блокнот", "", "Edit1", "Send text to notepad")
4. Затем посылаю команду, которая в меню блокнота выбирает пункт "Выход":
WinMenuSelectItem("Безымянный - Блокнот", "", "&Файл", "В&ыход")
5. После этого на экране появляется окно с вопросом "Сохранить изменения? Да/Нет/Отмена" - не смотря на то, что основное окно блокнота невидимо! Ответить на этот вопрос проблем не составляет, но... ВОПРОС: как избежать появления окна с вопросом на экране? То есть что бы оно, как и основное окно, было невидимым? Можно дождаться его появления и "спрятать" командой WinSetState, но в этом случае окно всё равно мелькнет на экране. Как быть?
1. Запускаем блокнот в невидимом окне:
Run("notepad.exe", "", @SW_HIDE)
2. Далее мне нужно дождаться, когда это окно появится. Среди стандартных команд не нашёл ту, которая дожидалась бы появления НЕВИДИМОГО окна, поэтому использовал команду задержки Sleep, что бы дождаться загрузки блокнота. ВОПРОС: можно ли решить эту задачу иначе?
3. После того, как блокнот загрузился, посылаю ему строку текста:
ControlSend("Безымянный - Блокнот", "", "Edit1", "Send text to notepad")
4. Затем посылаю команду, которая в меню блокнота выбирает пункт "Выход":
WinMenuSelectItem("Безымянный - Блокнот", "", "&Файл", "В&ыход")
5. После этого на экране появляется окно с вопросом "Сохранить изменения? Да/Нет/Отмена" - не смотря на то, что основное окно блокнота невидимо! Ответить на этот вопрос проблем не составляет, но... ВОПРОС: как избежать появления окна с вопросом на экране? То есть что бы оно, как и основное окно, было невидимым? Можно дождаться его появления и "спрятать" командой WinSetState, но в этом случае окно всё равно мелькнет на экране. Как быть?
-
elakt
Re: [Архив - Часть 1.1] AutoIt скрипты
как с помощью AutoIt сменить раскладку клавиатуры.
а то столкнулся с такой проблемой:
у меня язык по умолчанию английский стоит, а винда русская,
так вот при написании скрипта управления блокнотом не работают горячии клавиши
т.е. сочетания ALT+,CTRL+ и т.д. с русскими символами пока включена английская раскладка.
Send("{ALT down}")
Send("{ALT up}")
Send("{ф down}")
Send("{ф up}")
вот не работает если не сменить раскладку.
как мне быть?
а то столкнулся с такой проблемой:
у меня язык по умолчанию английский стоит, а винда русская,
так вот при написании скрипта управления блокнотом не работают горячии клавиши
т.е. сочетания ALT+,CTRL+ и т.д. с русскими символами пока включена английская раскладка.
Send("{ALT down}")
Send("{ALT up}")
Send("{ф down}")
Send("{ф up}")
вот не работает если не сменить раскладку.
как мне быть?
-
elakt
Re: [Архив - Часть 1.1] AutoIt скрипты
Sanja Alone
Цитата:
Но мне неясна цель подобных действий.
Есть некая программа для получения прайс-листа и отправки заказа поставщику. Ключи для автоматического получения/отправки эта программа не поддерживает, все операции нужно выполнять нажатием соответствующих кнопок, подтверждать выбор, отвечать на вопросы программы.
Цель - автоматизировать этот процесс. Желательно так, что бы все действия были "невидимы" для пользователя и выполнялись в фоне. Блокнот использовался только для примера.
Если я правильно понял, то можно "спрятать" главное окно программы, но нельзя избежать отображение диалогов программы с пользователем?
Цитата:
Но мне неясна цель подобных действий.
Есть некая программа для получения прайс-листа и отправки заказа поставщику. Ключи для автоматического получения/отправки эта программа не поддерживает, все операции нужно выполнять нажатием соответствующих кнопок, подтверждать выбор, отвечать на вопросы программы.
Цель - автоматизировать этот процесс. Желательно так, что бы все действия были "невидимы" для пользователя и выполнялись в фоне. Блокнот использовался только для примера.
Если я правильно понял, то можно "спрятать" главное окно программы, но нельзя избежать отображение диалогов программы с пользователем?
-
__Koval__
Re: [Архив - Часть 1.1] AutoIt скрипты
как с помощью AutoIt сменить раскладку клавиатуры.
а то столкнулся с такой проблемой:
у меня язык по умолчанию английский стоит, а винда русская,
так вот при написании скрипта управления блокнотом не работают горячии клавиши
т.е. сочетания ALT+,CTRL+ и т.д. с русскими символами пока включена английская раскладка.
Send("{ALT down}")
Send("{ALT up}")
Send("{ф down}")
Send("{ф up}")
вот не работает если не сменить раскладку.
как мне быть?
а то столкнулся с такой проблемой:
у меня язык по умолчанию английский стоит, а винда русская,
так вот при написании скрипта управления блокнотом не работают горячии клавиши
т.е. сочетания ALT+,CTRL+ и т.д. с русскими символами пока включена английская раскладка.
Send("{ALT down}")
Send("{ALT up}")
Send("{ф down}")
Send("{ф up}")
вот не работает если не сменить раскладку.
как мне быть?
-
godoo
Re: [Архив - Часть 1.1] AutoIt скрипты
2All
Помогите разобраться как сделать пренос стороки при использовании функции SplashTextOn:
SplashTextOn("", "Длинный текст", 600, 400, -1, -1, 1, "Comic Sans MS", "14", "500")
Надо принудительно расставить переносы, т.к. автоматически получается некрасиво.
Помогите разобраться как сделать пренос стороки при использовании функции SplashTextOn:
SplashTextOn("", "Длинный текст", 600, 400, -1, -1, 1, "Comic Sans MS", "14", "500")
Надо принудительно расставить переносы, т.к. автоматически получается некрасиво.
-
boss911
Re: [Архив - Часть 1.1] AutoIt скрипты
__Koval__
А ты не пробЫвал править через реестр, расскладку клавиатуры, или я твою проблему не правильно понял!?
А ты не пробЫвал править через реестр, расскладку клавиатуры, или я твою проблему не правильно понял!?
-
__Koval__
Re: [Архив - Часть 1.1] AutoIt скрипты
elakt
Цитата:
Есть некая программа для получения
Меня не это озадачило. Зачем тебе писать текст в Блокноте при пом. АвтоИта, если можно просто вывести сообщение?
Цитата:
но нельзя избежать отображение диалогов программы с пользователем?
Да, если так была написана та программа.
__Koval__
Цитата:
как с помощью AutoIt сменить раскладку клавиатуры.
Можно
Цитата:
не работает эта команда:
Второй параметр - это рабочий каталог, а не путь. А в первом параметре указывается полный путь, а не имя экзэшника. Правильно писать так:
Код:
godoo
Цитата:
Помогите разобраться как сделать пренос стороки
Также, как и всегда: "Длинный текст"[/i] записать в виде 'строка 1' &@LF&'строка 2' &@LF&'строка n'.
Цитата:
Есть некая программа для получения
Меня не это озадачило. Зачем тебе писать текст в Блокноте при пом. АвтоИта, если можно просто вывести сообщение?
Цитата:
но нельзя избежать отображение диалогов программы с пользователем?
Да, если так была написана та программа.
__Koval__
Цитата:
как с помощью AutoIt сменить раскладку клавиатуры.
Можно
так
(через реестр) или так
(сам я этот метод не проверял).Цитата:
не работает эта команда:
Второй параметр - это рабочий каталог, а не путь. А в первом параметре указывается полный путь, а не имя экзэшника. Правильно писать так:
Код:
Код: Выделить всё
Run("D:\0NoInstall\WinRar\WinRAR.exe", "", @SW_MAXIMIZE)
или так:
FileChangeDir ( "D:\0NoInstall\WinRar\" )
Run("WinRAR.exe", "", @SW_MAXIMIZE)godoo
Цитата:
Помогите разобраться как сделать пренос стороки
Также, как и всегда: "Длинный текст"[/i] записать в виде 'строка 1' &@LF&'строка 2' &@LF&'строка n'.
-
__Koval__
Re: [Архив - Часть 1.1] AutoIt скрипты
да и вот еще что не понимаю почему не работает эта команда:
Run("WinRAR.exe", "D:\0NoInstall\WinRar\", @SW_MAXIMIZE)
Run("WinRAR.exe", "D:\0NoInstall\WinRar\", @SW_MAXIMIZE)