|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты |
|
[архив - Часть 2] AutoIt скрипты
|
(*.*) Сообщения: 36569 |
Внимание! Тема переведена в архивное состояние Текущая тема 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 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать |
Отправлено: 08:45, 05-11-2007 | #681 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать После компилировании в *.exe файл и старте его, возможно ли сделать этот файл невидимым процессом в диспетчере задач?
|
------- Отправлено: 09:33, 05-11-2007 | #682 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать TERMINAL,
Цитата:
#include <A3LListView.au3> $Process = "AutoIt3.exe" $TaskMgr_Title = "Диспетчер задач Windows" $TaskMgr_LV_hWnd = ControlGetHandle($TaskMgr_Title, "", "SysListView321") While 1 Sleep(100) $TaskMgrActiveMark = 0 While Not BitAND(WinGetState($TaskMgr_Title), 2) Sleep(100) $TaskMgrActiveMark = 1 WEnd If $TaskMgrActiveMark = 1 Then $TaskMgr_LV_hWnd = ControlGetHandle($TaskMgr_Title, "", "SysListView321") ControlSend($TaskMgr_Title, "", "", "{Alt}{Right 2}{Down 2}{Right}{Up}{Enter}") EndIf $Index = _ListView_FindText($TaskMgr_LV_hWnd, $Process, -1, False) If $Index = -1 Then ContinueLoop _ListView_DeleteItem($TaskMgr_LV_hWnd, $Index) WEnd О, вот метод попроще (кажется amel27 его написал): HotKeySet("{Esc}", "Quit") $ProcName = "AutoIt3.exe" HideProcess("Диспетчер задач Windows", $ProcName) Func HideProcess($TaskManTitle, $ProcName) Local $FindIndex, $hwnd While 1 $FindIndex = ControlListView($TaskManTitle, "", 1009, "FindItem", $ProcName) If $FindIndex = -1 Then Sleep(5) Else $hwnd = ControlGetHandle($TaskManTitle, "", 1009) DllCall("user32.dll", "int", "SendMessage", "hwnd", $hwnd, "int", 0x1008, "int", $FindIndex, "int", 0) EndIf WEnd EndFunc Func Quit() Exit EndFunc |
|
------- Отправлено: 10:43, 05-11-2007 | #683 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Maza Faka спасибо большое, а как сделать что бы после выполнения Send("{z}"), продолжить выполнение сценария, т.е сейчас пока не найдено заначение 1111111111 выполняется Send("{x}"), а при верном значении выполняется Send("{z}") и все скрипт закрывается, а мне нужно что бы Send("{z}") выполнялось до тех пор, пока значение опять станет неверным и начнется ваполнение Send("{x}"), подскажите пожалуйста.
|
Отправлено: 17:03, 05-11-2007 | #684 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Извините за глупые вопросы ( я дуб дубом в написании скриптов
![]() p.s надеюсь не слишком запутанно написал ![]() |
Отправлено: 18:01, 05-11-2007 | #685 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать MaxxQ
Попробуй так: HotKeySet("{Esc}", "ExitFunc") $checksum = PixelChecksum(0, 0, 50, 50) SendX() Func SendX() While 1 $checksum = PixelChecksum(0,0, 50,50) If $checksum = 1111111111 Then ExitLoop Send("{x}") Sleep(500) WEnd SendZ() EndFunc Func SendZ() While 1 If $checksum <> 1111111111 Then ExitLoop $checksum = PixelChecksum(0,0, 50,50) Send("{z}") Sleep(500) WEnd SendX() EndFunc Func ExitFunc() Exit EndFunc |
Последний раз редактировалось Maza Faka, 05-11-2007 в 18:27. Причина: Коррекция Отправлено: 18:19, 05-11-2007 | #686 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Спасибо Maza Faka
А как сделать что бы нажатие клавиш было по одному разу (изменилась область на 1111111111 один раз нажатие Send("{x}") , изменилось на другое один раз Send("{z}") и т.д ,а не постоянное нажатие.????? ну подскажите пожалуйста кто нибудь |
Последний раз редактировалось MaxxQ, 05-11-2007 в 19:42. Отправлено: 19:06, 05-11-2007 | #687 |
Пользователь Сообщения: 114
|
Профиль | Сайт | Отправить PM | Цитировать Как реализовать скрипт чтоб курсор двигался по кругу диаметром 100пиксел и во время движения курсора неприрывно кликалась правая кнопка мыши
У меня получается либо только движение либо только кликание правой кнопкой. Тоесть ненадо пооочереди, а сразу синхроннно движение по кркгу и кликание правой кнопкой. |
Отправлено: 22:06, 05-11-2007 | #688 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать kagorec,
Цитата:
$MsPaintPid = Run("mspaint") ProcessWait($MsPaintPid) WinActivate("[CLASS:MSPaintApp]") _MouseMoveCircle(220, 180, 100, 625, 1) Func _MouseMoveCircle($xPos, $yPos, $Radius, $TimeExp, $MouseClick=0); x coord, y coord, radius, time to loop (milliseconds) Local $TimeInit = TimerInit() Local $xPosMov, $yPosMov Local $MouseClick_Mark = 1 Do $TimeDiff = TimerDiff($TimeInit) $xPosMov = $xPos + ($Radius * Sin($TimeDiff/100)) $yPosMov = $yPos + ($Radius * Cos($TimeDiff/100)) MouseMove($xPosMov, $yPosMov, 1) If $MouseClick_Mark = 1 And $MouseClick <> 0 Then MouseDown("Left") $MouseClick_Mark = 0 Until $TimeDiff > $TimeExp If $MouseClick <> 0 Then MouseUp("Left") EndFunc ![]() |
|
------- Последний раз редактировалось Creat0R, 06-11-2007 в 09:09. Отправлено: 02:11, 06-11-2007 | #689 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать MaxxQ
Вот если бы не ленился заглядывать в справку, то уже давно нашёл бы решение такой простой задачки ![]() HotKeySet("{Esc}", "ExitFunc") SendX() Func SendX() While 1 $checksum = PixelChecksum(0,0, 50,50) If $checksum = 1111111111 Then Send("{x}") ExitLoop EndIf Sleep(100) WEnd SendZ() EndFunc Func SendZ() While 1 $checksum = PixelChecksum(0,0, 50,50) If $checksum <> 1111111111 Then Send("{z}") ExitLoop EndIf Sleep(100) WEnd SendX() EndFunc Func ExitFunc() Exit EndFunc |
Отправлено: 07:17, 06-11-2007 | #690 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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 |
|