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

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

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

Старожил


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

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


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





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


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

Помогите пожалуйста. Нужен маленький скриптик для решения некоторых рутинных задачь.
Вот что нужно сделать последовательно:

1) в папке DIR1 находим и удаляем файлы в названии которых присутствует text_1
2) в папке DIR2 находим xxx.sif и удаляем строки, в которых присутствует text_1
3) в папке DIR3 находим xxx.inf и добавляем в его секцию [XXX] несколько строчкек (text_2, text_3, ..., text_n)
4) в папке DIR4 находим yyy.inf ищем в его секции [YYY] text_4 и заменяем его на text_5
5) сохраняем все изменения и выводим отчёт о проделанной работе :-)

Заранее благодарен.

Отправлено: 05:05, 03-12-2006

 

Аватара для papik_bat

Новый участник


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

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


Здрасьте всем.
Вот история моей болезни:
я написал батник для автоматической рассылки писем, когда он срабатывает, то появляеться окно аутглюк с предуприждением, что программа пытаеться сама отправить письмо и т.д.. На нужную кнопку в этом окне я нажимал скриптом Autoit.

[code]Opt("TrayIconHide", 1)
WinWaitActive("Microsoft Office Outlook")
Sleep(6000)
ControlClick("Microsoft Office Outlook", "", "Button4")
Send("{ENTER}")

Все работало нормально, но последнее время если компьютер заблакированн мой "нажиматель" не срабатывает, так как окно аутглюка стало теперь не активным. на писал такой скрипт:

Код: Выделить весь код
Opt("TrayIconHide", 1)
If WinWait("Microsoft Office Outlook") then
WinActivate("Microsoft Office Outlook","")
WinWaitActive("Microsoft Office Outlook")
Sleep(6000)
ControlClick("Microsoft Office Outlook", "", "Button4")
Send("{ENTER}")
EndIf
Но проблема не решилась, если комп заблокированн окно не активируеться и кнопка не нажимаеться.

Кто виноват? Что делать?

-------
Я думаю, торг здесь не уместен!!


Отправлено: 10:47, 18-01-2007 | #141



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

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


Аватара для Creat0R

Must AutoIt


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

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


Diamond
Цитата:
Три способа определить - является ли файл папкой
Ещё один (который я до сих пор юзал):
;Возвращает -1 если файл вовсе не существует, 1 если папка, и 0 если файл....

Код: Выделить весь код
Func _IsDir($FileName)
    If FileExists($FileName) Then
        $FCheck = FileOpen($FileName, 0)
        If $FCheck = -1 Then
            Return 1
        Else
            FileClose($FCheck)
            Return 0
        EndIf
    Else
        Return -1
    EndIf
EndFunc
Но видимо начну юзать один из твоих примеров, тот что проверяет атрибуты, пожалуй это надёжнее.


Цитата:
В любом случае, исправленный код может оказаться полезным и для других участников форума.
Безусловно


papik_bat
Цитата:
если компьютер заблакированн
Что значит заблокирован? AutoIt'ом?

У тебя второй пример весь держится на условии что “скрипт будет дожидаться” окна, попробуй опустить условие и ограничить дожидание:

Код: Выделить весь код
#NoTrayIcon ;Так надёжнее ;)

WinWait("Microsoft Office Outlook", "", 10)
;Иногда один раз не срабатывает (глюк аутоита), пробуем два раза подряд...
WinActivate("Microsoft Office Outlook")
WinActivate("Microsoft Office Outlook")
WinWaitActive("Microsoft Office Outlook", "", 10)
Sleep(6000)
ControlClick("Microsoft Office Outlook", "", "Button4")
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

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

Отправлено: 13:08, 18-01-2007 | #142


Аватара для papik_bat

Новый участник


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

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


Продолжаем беседу...

CreatoR

Компьютер заблокирован = Ctrl+Alt+Delete -> Блокировка, либо когда блокировка включаеться автоматически.
ПопробЫвал предложенный код, не идет...

После разблокировки окно аутлука свернуто.

Отправлено: 13:43, 18-01-2007 | #143


Аватара для papik_bat

Новый участник


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

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


Вот нашел описание команды которая могла бы, я думаю, решить мою беду WinRestore, но у себя в Autoit 3, ее не нахожу. Как быть?

-------
Я думаю, торг здесь не уместен!!


Отправлено: 15:58, 18-01-2007 | #144


Аватара для Creat0R

Must AutoIt


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

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


papik_bat
Цитата:
у себя в Autoit 3, ее не нахожу.
Она относится к аутоиту Version 2.63, Version 2.64

Теперь (в 3.2.2) нужно так:

Код: Выделить весь код
WinSetState("Microsoft Office Outlook", "", @SW_RESTORE)

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

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

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


Отправлено: 19:25, 18-01-2007 | #145


Аватара для papik_bat

Новый участник


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

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


CreatOR
Цитата:

WinSetState("Microsoft Office Outlook", "", @SW_RESTORE)
все ровно не работает.
Попробую пойти другим путем, не дам компютеру блокироваться написал скрипт Autoit "мышка летит на юг" :-)!
Через каждые 10 минут мышка двигаеться в южном направлении. Просто отключить блокировку нельзя.

-------
Я думаю, торг здесь не уместен!!


Отправлено: 10:54, 19-01-2007 | #146


Пользователь


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

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


Creat0R
Цитата:
тот что проверяет атрибуты, пожалуй это надёжнее
На самом деле все три способа надёжны!
Тот что на основе VBScript запрашивает напрямую ($fso.FolderExists() куда уж надёжней...). Там я сделал только одну поправочку. Дело в том что в VBScript, значение False понятно 0, а вот значение True = -1, поэтому я добавил Abs() для совместимости с AutoIt.

Файл "nul" - неотъемлемый элемент папки и он никуда не денется, так что тоже можно пользоваться смело.

Отправлено: 17:55, 19-01-2007 | #147


Новый участник


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

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



Уважаемые, подскажите пожалуйста, может кто знает как реализовать на AutoIt v 3 следующее:
(Что-то сам никак не могу придумать)

1. Как вызвать меню программы, которое вызывается только по клику правой кнопкой мыши на иконку программы в трее ?
(Другого интерфейса программа не имеет...) Или как кликнуть нужную иконку программы в трее ?

Отправлено: 20:15, 19-01-2007 | #148


Аватара для Creat0R

Must AutoIt


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

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


Respect
Цитата:
как кликнуть нужную иконку программы в трее ?
Мне кажется только по координатам - используй Au3Info.exe, и нажми на нужную иконку, затем посмотри координаты которые выдаст этот инструмент (под надписью >>>Mouse Details <<< - X: и Y: ), далее используй их примерно так:

Код: Выделить весь код
#NoTrayIcon
$X = 930
$Y = 717
MouseClick("right", $X, $Y, 1, 0)
Первая строка обязательна, иначе появится икона самого скрипта, и тогда координаты уже будут не актуальны (не верны).

Diamond
Цитата:
все три способа надёжны!
А если работа Vbscript нарушена в системе? (у меня такое бывало)
А по поводу файла Nul, видимо он гинерируется (по крайней мере имитируется его присутствие) если существует файл с таким же имененм без расширения...
Т.е к примеру, создаём файл Test в папке C:\ (без расширения), и проверяем является ли он папкой:

Код: Выделить весь код
$TestName = "C:\test"

MsgBox(0, "", _FolderExist($TestName))

Func _FolderExist($name)
    $Folder = FileExists($name & "\nul")
    Return $Folder
EndFunc
Получаем 1 (хотя это не папка) .

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

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

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


Отправлено: 03:08, 20-01-2007 | #149


Аватара для Creat0R

Must AutoIt


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

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


У меня есть такой вопрос:
-Возможно ли проверить функцию BlockInput()? т.е есть способ узнать, включена ли (или отключена) такая блокировка (от самого скрипта)?
Мне нужно включить BlockInput(1), и в течении того времни пока всё заблокированно, проверять были ли нажаты клавиши Alt Ctrl Del (что и вызывает отключение блокировки) - или хотябы как проверить нажатие этих клавишь, _IsPressed не помагает, не получается проверить нажатие сразу трёх клавишь


P.S.

И ещё такой между прочный вопрос - почему в справке нет (у меня) описании команд StringRegExp, StringRegExpReplace? где можно почитать описания, и желательно примеры этих функции? может мне справка попалась бракованная? (она шла вместе с дистрибютивом AutoIt'а).

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

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

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


Отправлено: 03:31, 20-01-2007 | #150



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход