|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты |
|
[архив - Часть 2] AutoIt скрипты
|
(*.*) Сообщения: 36568 |
Внимание! Тема переведена в архивное состояние Текущая тема http://forum.oszone.net/thread-98914.html (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста.
Как с помощью AutoIt получить информацию из графического приложения в котором AutoIt Window Info ничего не опознает кроме самого окна приложения. Все внутри окна нарисовано, написано и работает автономно. Хочу написать бот для некоторых манипуляций в онлайн игре. |
Отправлено: 19:18, 03-09-2007 | #411 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать yukko,
Цитата:
![]() |
|
------- Отправлено: 20:32, 03-09-2007 | #412 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Как-то я задавал вопрос по поводу перетаскивания окна за форму ...недавно эксперементировал с GUIRegisterMsg() и совешенно случайно обнаружил способ, думаю это хорошая замена для стиля $GUI_WS_EX_PARENTDRAG:
#include <GuiConstants.au3> Global Const $WM_SYSCOMMAND = 0x0112 Global Const $WM_LBUTTONDOWN = 0x0201 $HWnd = GUICreate("DRAG_COMMAND",240,180,-1,-1,$WS_OVERLAPPEDWINDOW) GUIRegisterMsg($WM_LBUTTONDOWN,"DRAG_COMMAND") GUISetState() While 1 $msg = GUIGetMsg(0) Switch $msg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func DRAG_COMMAND($HWnd,$command,$wParam,$lParam) If BitAND(WinGetState($HWnd),32) Then Return DllCall("user32.dll","long","SendMessage","hwnd",$HWnd,"int",$WM_SYSCOMMAND,"int",0xF009,"int",0) EndFunc |
Отправлено: 02:23, 04-09-2007 | #413 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Diamond,
Можно ещё так.. #include <GuiConstants.au3> Global Const $WM_NCHITTEST = 0x0084 Global $GUI = GuiCreate("Drag using any place on GUI - Demo", -1, -1, -1, -1, $WS_OVERLAPPEDWINDOW) GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST") GUISetState() While 1 $Msg = GUIGetMsg() Switch $Msg Case -3 Exit EndSwitch WEnd Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam) If $hWnd = $GUI And $iMsg = $WM_NCHITTEST Then Local $id = _API_DefWindowProc($hWnd, $iMsg, $iwParam, $ilParam) If $id = 1 Then Return 2 Else Return $id EndIf EndIf EndFunc Func _API_DefWindowProc($hWnd, $iMsg, $iwParam, $ilParam) Local $aResult $aResult = DllCall("User32.dll", "int", "DefWindowProc", "hwnd", $hWnd, "int", $iMsg, "int", $iwParam, "int", $ilParam) Return $aResult[0] EndFunc ![]() |
------- Отправлено: 02:52, 04-09-2007 | #414 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Хочу написать скрипт со "сфетофором", что бы при копировании файла отображался прогресс-бар, но почему-то функция AdlibEnable() начинает работать после того как скопируется файл, что я делаю не так:
Dim $source = "d:\Video\Films\Адреналин.avi", $dest = "c:\Адреналин.avi", $i = 0 ProgressOn("Please wait...", "Now copying file", "", -1, -1, 16) AdlibEnable("Rename", 500) FileCopy($source, $dest, 1) AdlibDisable() ProgressSet(100, "Done") Sleep(100) ProgressOff() Func Rename() $i += 1 If $i = 100 Then $i = 0 ProgressSet($i, $i & " percent") EndFunc |
------- Отправлено: 09:40, 04-09-2007 | #415 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Maza Faka,
Цитата:
Если требуется просто "голый" светофор, тогда будет достаточно вышеупомянутых действии ![]() Dim $source = "d:\Video\Films\Адреналин.avi", $dest = "c:\Адреналин.avi" $DummyGui = GUICreate("#_Dummy_Gui_#") $ProgressStr = '#NoTrayIcon' & @CRLF & _ 'ProgressOn("Please wait...", "Now copying file", "", -1, -1, 16)' & @CRLF & _ 'Dim $i = 0' & @CRLF & _ 'While WinExists(Hwnd(' & $DummyGui & '))' & @CRLF & _ ' $i += 1' & @CRLF & _ ' If $i = 100 Then $i = 0' & @CRLF & _ ' ProgressSet($i, $i & " percent")' & @CRLF & _ ' Sleep(200)' & @CRLF & _ 'Wend' & @CRLF & _ 'ProgressSet(100, "Done")' & @CRLF & _ 'Sleep(1000)' & @CRLF & _ 'ProgressOff()' FileWrite(@TempDir & "\Temp_au3_Script.tmp", $ProgressStr) Run(@AutoItExe & ' /ErrorStdOut /AutoIt3ExecuteScript "' & @TempDir & '\Temp_au3_Script.tmp"') FileCopy($source, $dest) GUIDelete($DummyGui) FileDelete(@TempDir & "\Temp_au3_Script.tmp") |
|
------- Отправлено: 11:06, 04-09-2007 | #416 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Искомая информация - строка, состоящая из английских букв и пробелов (название объекта). Строка известна, может быть такой и никакой другой. Нужно идентифицировать обьект. Так же есть строка поиска, в которую можно поместить название объекта, нажать на кнопку и произойдет поиск обьектов, которые после этого все равно нужно идентифицировать. Обьект - статический прямоугольник. Название в верхней части прямоугольника, по высоте текст приблизительно 1/15 от высоты прямоугольника.
|
Отправлено: 11:14, 04-09-2007 | #417 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать yukko,
Нужно видеть приложение (сомневаюсь что видно только заголовок окна, возможно текст элементов скрытый?), а по сути, функции ControlGetText, ControlSetText, ControlCommand и т.п помогут в этой задаче. |
------- Отправлено: 11:26, 04-09-2007 | #418 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Сами обьекты отсканированные/нарисованы, но если есть поиск, то наверное текст где то в клиентской части есть. Утилита не видит ничего кроме заголовка окна. Подскажите пожалуйста где можно поискать текст ?
|
Отправлено: 12:10, 04-09-2007 | #419 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать yukko
Цитата:
Приведи хотябы снимок приложения ![]() |
|
------- Отправлено: 12:17, 04-09-2007 | #420 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? | DreDo | Хочу все знать | 4 | 01-12-2009 18:54 | |
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. | Vadikan | AutoIt | 1543 | 18-01-2009 10:46 | |
[Архив - Часть 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 |
|