Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

Закрытая тема
Настройки темы
[архив - Часть 2] AutoIt скрипты

(*.*)


Сообщения: 36549
Благодарности: 6692


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 27-01-2008
Внимание!
Тема переведена в архивное состояние







(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.


Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).
Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).



Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Diamond,
Цитата:
как раз именно из-за постоянных мельканий элементов
Но они у меня и до этого мелькали

Цитата:
с точки зрения пользователя было бы некорректно заменять текущий курсор на новый
Согласен, поищу на оф. форме, может есть метод получить текущий курсор (хотя я уверен что есть, нужно просто хорошенько поискать, ну или вежливо спросить ).

Цитата:
При нажатии на тоновую шкалу (точнее при отпускании мышки с $GrCover) происходило определение цвета тоновой шкалы, и это не зависило от Пипетки
Ну, не уверен, но у меня и сейчас всё нормально определяется (или я не понял про что речь?)...

Цитата:
Вместо этого добавился глюк: При клике по $GrCover запускается последнее действие
Хм.. видимо фокус остаётся на последнем элементе, и WM_COMMAND срабатывает намного быстрее чем фокус меняется на используемый элемент (на который была нажата мышка), поэтому чтобы это поправить, нужно всего лишь заменить строку получения сфокусирорванного элемента, на $LParam (твой метод ) :

Код: Выделить весь код
Local $FocusedHandel = $LParam;ControlGetHandle($hWndGUI, "", ControlGetFocus($hWndGUI))
Цитата:
Не @SW_HIDE а @SW_DISABLE
Именно @SW_HIDE (для WinSetState()), ведь эффект там происходил скрытия окна а не деактивирования... но это не столь важно.

P.S
Я если честно, считаю что переделав весь подход к подобному скрипту (методы решения и использование функции/вызовы), можно добиться идеальных результатов (где ничего не будет мелькать, и при этом обновляться в реальном времени)... но у меня пока (и полагаю что у тебя тоже), времени на это совсем нету

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 17:44, 22-09-2007 | #461



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 916
Благодарности: 34

Профиль | Отправить PM | Цитировать


Ребят, почитав ЧаВо понял, что реализовать скрипт, который будет выключать определённую галочку в настройках панели задач можно(?), но не силён я в AutoIt'е, можно сказать вообще. Ответьте на такой вопрос, можно ли автоматизировать следующее действие:


-------
All my homies dont play better watch what you say and put your glock away, ease back, ease back, ease back before i squeeze that...


Отправлено: 12:41, 23-09-2007 | #462


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


SAOPP
Попробуй:
Код: Выделить весь код
Opt("WinTitleMatchMode", 4)
$tray = "Classname=Shell_TrayWnd"
ControlFocus($tray, "", "ToolbarWindow322")
ControlClick($tray, "", "ToolbarWindow322", "right")
Send("{UP 8}")
Send("{RIGHT}")
Send("{DOWN 3}")
Send("{ENTER}")

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:00, 23-09-2007 | #463


Ветеран


Сообщения: 916
Благодарности: 34

Профиль | Отправить PM | Цитировать


Maza Faka, спасибо, сразу бросается тот факт, что если исполнять клик курсором ближе к трею, то
Цитата Maza Faka:
Send("{RIGHT}") »
скорее всего нужно переводить в 'LEFT' - но не факт, если при первом логоне курсор из центра экрана переместится в центр панели задач - думаю всё пройдёт гладко, спасибо ещё раз, сейчас скомпилю испробую.

Ха-ха, Maza Faka, огромное спасибо, только пришлось по каким то причинам мне убрать на один пункт движение вниз получилось следующее:
Код: Выделить весь код
Opt("WinTitleMatchMode", 4)
$tray = "Classname=Shell_TrayWnd"
ControlFocus($tray, "", "ToolbarWindow322")
ControlClick($tray, "", "ToolbarWindow322", "right")
Send("{UP 8}")
Send("{RIGHT}")
Send("{DOWN 2}")
Send("{ENTER}")
Осталось протестировать процесс во время тихого инсталлятора, собсно для чего и затевался с этим

-------
All my homies dont play better watch what you say and put your glock away, ease back, ease back, ease back before i squeeze that...


Отправлено: 15:11, 23-09-2007 | #464


Ветеран


Сообщения: 916
Благодарности: 34

Профиль | Отправить PM | Цитировать


Цитата SAOPP:
только пришлось по каким то причинам мне убрать на один пункт движение вниз »
Этот факт обусловлин отсутствием у меня в этом меню Windows Media Player'а и ессно его минибара для панели задач, т.е. здесь уже нужно подстраиваться под "общий" вид, т.е. с медиаплеером. Ещё раз спасибо.

-------
All my homies dont play better watch what you say and put your glock away, ease back, ease back, ease back before i squeeze that...


Отправлено: 15:33, 23-09-2007 | #465


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


SAOPP,
Вместо LEFT/RIGHT можно использовать Enter , а также Opt(...) не нужен, сегодня в Аутоите уже есть метод более практичнее...

Код: Выделить весь код
$TrayTitle = "[CLASS:Shell_TrayWnd]"
ControlFocus($TrayTitle, "", "ToolbarWindow322")
ControlClick($TrayTitle, "", "ToolbarWindow322", "right")
Send("{DOWN}") ;почему 8 раз UP, когда можно в обратную сторону один раз DOWN? :)
Send("{ENTER}")
Send("{DOWN 2}")
Send("{ENTER}")

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:17, 23-09-2007 | #466


Аватара для TERMINAL

Ветеран


Сообщения: 753
Благодарности: 28

Профиль | Отправить PM | Цитировать


Народ! помогите на скрипте написать прогу которая ждёт 10 минут и если пользователь не нажимал ни одной клавиши (короче отсутствовал) тогда комп просто выключается.

-------
Автоматизация прежде всего....


Отправлено: 10:56, 24-09-2007 | #467


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


TERMINAL,
Цитата:
написать прогу которая ждёт 10 минут и если пользователь не нажимал ни одной клавиши (короче отсутствовал) тогда комп просто выключается.
Лови (функция _IdleWaitCommit() написана by amel27, я её лишь немного подправил для данного примера):

Код: Выделить весь код
HotKeySet("^q", "Quit")

$Minutes = 10 ;Тут задаётся интервал ожидания в минутах

While 1
    $Timer = TimerInit()
    _IdleWaitCommit(0)
WEnd

Func _IdleWaitCommit($idlesec)
    Local $iSave, $LastInputInfo = DllStructCreate ("uint;dword")
    DllStructSetData ($LastInputInfo, 1, DllStructGetSize ($LastInputInfo))
    DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo))
    Do
        $iSave = DllStructGetData ($LastInputInfo, 2)
        Sleep(100)
        DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo))
        If TimerDiff($Timer) >= $Minutes * 60000 Then
            MsgBox(64, "Внимание", "10 минут спустя, а хозяина нету ;)", 10)
            ;Shutdown(1 + 4) ;Force Shutdown
            ExitLoop
        EndIf
    Until (DllStructGetData ($LastInputInfo, 2)-$iSave) > $idlesec
    Return DllStructGetData ($LastInputInfo, 2)-$iSave
EndFunc

Func Quit()
    Exit
EndFunc
Я закоментировал на всякий случай строку с выключением компа (;Shutdown(1 + 4) ;Force Shutdown).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 11:22, 24-09-2007 | #468


Аватара для TERMINAL

Ветеран


Сообщения: 753
Благодарности: 28

Профиль | Отправить PM | Цитировать


Creat0R, Это всё хорошо, но а как сделать если он есть, то прога просто использует EXIT.
Суть такая - комп после 2х часовой задачи идёт на перезагрузку (например ставлю на ночь). После загрузки винды прога эта автоматом загружается и смотрит-если я нажал кнопку на клаве или открыл любое окно (эфект присутствия) то она просто делает выход, а если никто ничего не делал в течении 10 минут-прога выключает комп....

-------
Автоматизация прежде всего....


Отправлено: 11:46, 24-09-2007 | #469


Ветеран


Сообщения: 916
Благодарности: 34

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Вместо LEFT/RIGHT можно использовать Enter , а также Opt(...) не нужен, сегодня в Аутоите уже есть метод более практичнее... »
К сожалению я не силён в этом и разбираться нет времени, товарищ помог мне и я очень ему благодарен, что же касается описанного, то чем лучше и практичнее будет выглядеть эта операция?

-------
All my homies dont play better watch what you say and put your glock away, ease back, ease back, ease back before i squeeze that...


Отправлено: 12:05, 24-09-2007 | #470



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 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




 
Переход