Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   AutoIt Просьба о помощи! (http://forum.oszone.net/showthread.php?t=109267)

ShadowMas 16-06-2008 13:20 827170

AutoIt Просьба о помощи!
 
Я не как не могу понять, как в AutoIt работать с «Условным выполнением выражения» ?
Вот, к примеру, мне нужно чтобы при определённых условиях выполнялось последовательное нажатие в программе каких-то кнопок или текст писался, а если это условие не выполняется, то делать другие действия. Возможно ли этого добиться с помощью скриптов AutoIt?

Заранние большое спасибо.

DedAlex 16-06-2008 13:34 827185

ShadowMas, посмотрите If...ElseIf...Else...EndIf

ShadowMas 16-06-2008 14:47 827238

Да я смотрел, что то не получается?
Ну вот к примеру:

Run("notepad.exe")
WinWaitActive("Безымянный - Блокнот")
Send("Привет")
WinClose("Безымянный - Блокнот")
If WinWaitActive("Блокнот", "Текст в файле Безымянный был изменен")Then
Send( "{RIGHT}")
Send("{ENTER}")
Else
Run("Любое приложение.exe")
WinWaitActive("Безымянный - Блокнот")
Send("ПриветShadowMas")
WinClose("Любое приложение - 1")
WinWaitActive("Любое приложение", "Текст в файле 1 был изменен")
Send( "{RIGHT}")
Send("{ENTER}")
EndIf

Может надо с переменными помудрить, я имею ввиду назначить переменной окно появляющееся (WinWaitActive("Блокнот", "Текст в файле Безымянный был изменен"))?

Можно если не трудно пример какой то маленький чтобы я наглядно увидел? :)

DedAlex 16-06-2008 16:54 827349

ShadowMas, попробуйте

Код:

Run("notepad.exe")
WinWaitActive("Безымянный - Блокнот")
Send("Привет")
WinClose("Безымянный - Блокнот")
WinWaitActive("Блокнот", "Текст в файле Безымянный был изменен")
If WinExists ("Блокнот", "Текст в файле Безымянный был изменен")==1 Then
Send( "{RIGHT}")
Send("{ENTER}")
Else
Run("Любое приложение.exe")
WinWaitActive("Безымянный - Блокнот")
Send("ПриветShadowMas")
WinClose("Любое приложение - 1")
WinWaitActive("Любое приложение", "Текст в файле 1 был изменен")
Send( "{RIGHT}")
Send("{ENTER}")
EndIf


ShadowMas 16-06-2008 19:14 827474

Ну спасибо за помощь обязательно попробую что получается



$g_szVersion = "TEST"
If WinExists($g_szVersion) Then Exit ; Он уже запущен
AutoItWinSetTitle($g_szVersion)
Run("notepad.exe")
WinWaitActive("Безымянный - Блокнот")
Send("Привет")
WinClose("Безымянный - Блокнот")
WinWaitActive("Блокнот", "Текст в файле Безымянный был изменен")
If WinExists ("Блокнот", "Текст в файле Безымянный был изменен")==1 Then
Send( "{RIGHT}")
Send("{ENTER}")
Else
Run("BreakingSWF.exe") ; крек проигрователя SWF.max 1.5.800
WinWaitActive("Установка — SWF.max", "Вас приветствует Мастер установки SWF.max")
Send("{SPACE}")
WinWaitActive("Установка — SWF.max", "Выбор папки установки")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{SPACE}")
WinWaitActive("Папка существует", "уже существует. Всё равно установить в эту папку")
Send("{SPACE}")
WinWaitActive("Установка — SWF.max", "Всё готово к установке")
Send("{SPACE}")
WinWaitActive("Установка — SWF.max", "Завершение Мастера установки SWF.max")
Send("{SPACE}")
EndIf

Ещё раз сенкс!


Время: 11:56.

Время: 11:56.
© OSzone.net 2001-