[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Ответить
 • Просмотры: 26
Аватара пользователя
Creat0R

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Creat0R »

Creat0R, спс, а случайно не раскажешь как пользоваться командами?


Цитата Creat0R:





Код:

Код: Выделить всё

#include 
 _WinAPI_WriteProcessMemory()
 _WinAPI_GetWindowThreadProcessId()
 _WinAPI_OpenProcess()
 _WinAPI_CloseHandle()

[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
Аватара пользователя
semiono

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение semiono »

amel27,
Цитата amel27:



в упор не вижу в либе _GUICtrlUnSetOnHover
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Извиняюсь, я видимо ещё не запостил последнюю версию, где эта функция добавлена Изображение , прикрепил новый UDF к посту. Кстати, есть ещё и версия без DllCalbackRegister, на основе WM_TIMER, но там есть свои ограничения (привязка к фиктивному GUI).




Цитата amel27:



чем не устраивает, к примеру, такой вариант
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Устраивает, также как и текущий. Хотя лишний раз вызывать функции мне кажется лишним. Тут это только пример показывающий баг у DllCallBackFree, не более.




Цитата amel27:



компиляция скрипта "в консоль" поддерживается только v3.2.12.0
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Но есть для ранних версиях
патч
Изображение.
Аватара пользователя
Grammaton Cleric

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Grammaton Cleric »

morgan1991,


Цитата morgan1991:



случайно не раскажешь как пользоваться командами?
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




В справке есть описания параметров, я лично с этими функциям не работал ещё.
Аватара пользователя
amel27

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение amel27 »

Цитата Creat0R:



В справке есть описания параметров
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Качал последнюю справку с офф. сайта v3.2.5.4, позднее нету. Дак вот в ней описания и нету.

Может можно гдето скачать хотябы английский мануал?
Аватара пользователя
Grammaton Cleric

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Grammaton Cleric »

Цитата morgan1991:



Качал последнюю справку с офф. сайта
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Это не последняя версия справки (разве что если на русском).

Я говорил про справку в составе с AutoIt'ом (в последней версии).
Аватара пользователя
amel27

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение amel27 »

Цитата morgan1991:



Может можно гдето скачать хотябы английский мануал?
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Просто у меня нетвозможности ставить последнюю версию Autoit?
Аватара пользователя
Creat0R

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Creat0R »

Цитата morgan1991:



нетвозможности ставить последнюю версию Autoit
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Её не обязательно ставить, можно распаковать установщик тем же винраром и вытащить отдельно файл справки Изображение (в крайнем случае 7zip'ом).
Аватара пользователя
amel27

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение amel27 »

Код:

Код: Выделить всё

$InstallPath=@ProgramFilesDir & "\MediaStudio"
; Проверка установленной программы, собсно это и хочется закоментировать и пойти другим путём.
If FileExists(@ProgramFilesDir & "\Ulead Systems\Ulead MediaStudio Pro 8.0\veditor.exe") Then Exit
; Тута не скажу что ставиться, секрет ;-
ShellExecute("****.exe", "/verysilent", "$ScriptDir")
Blockinput(1)
Run("Ulead MediaStudio Pro 8.0.exe")
WinWaitActive("", "Welcome")
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("", "License Agreement")
ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
WinWaitActive("", "Choose Destination Location")
ControlClick("", "", "[Class:Button; Instance:3]", "left", 1)
Send($InstallPath)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
Sleep(800)
Send("{BS 32}")
Send($InstallPath & "\Preview")
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:3]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:6]", "left", 1)
Sleep(200)
ControlClick("", "", "[Class:Button; Instance:9]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
Sleep(800)
ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
WinWaitActive("", "InstallShield Wizard Complete")
ControlClick("", "", "[Class:Button; Instance:4]", "left", 1)
Blockinput(0)

Вопросы:

1. Если установленна уже была программа, то при повторной установке откроется MsgBox с заголовком

"Uninstall blah-blah?" и двумя(ми) кнопкоми Yes, No. Довольно частая ситуация, хотелось бы какой нибудь

код предпринять, чтоб напр. Uninstall нажать. Но я не знаю что в If Then... EndIf вписать, подскажите?

Я пробовал так



Код:

Код: Выделить всё

Run("Ulead MediaStudio Pro 8.0.exe")
If
WinWaitActive("Uninstall", "") = 0 Then
....
else 
ControlClick("", "", "[Class:Button; Instance:4]", "left", 1)
EndIf

не получается...

Как кстати указать чтоб все ошибки репортировались? Потому что в данном случае ошибки были, но молча было Изображение

2. Что меня удивило тут, то что Sleep действительно нужен! Иначе в многих местах не срабатывает и появляются пропуски... Но почему? Приложение большое - 128 мег, может от этого? Или тут какие-то спецэффекты в окнах. Я помню Sleep не использовал раньше вообще, или лучше всегда и везде так подстраховывать? Хотя я думаю лучше "быстрее" установить чем во время Sleep какоенить посторонее окно может выскочить? Изображение

3. Как правильно очищать поле ввода [C:\Program Fils\MyApp] ? Его бы выделить сначала, для уверенности,

но как-то всё коряво получается, того и гляди слетит.... Всё что у меня ума хватило это вбивать Send("{BS 32}")

Но зафокусировать поле ввода вообще не знаю как. ? Пожалуста отвечайте кодом, ато я в хелпе потеряюсь совсем...
Аватара пользователя
Creat0R

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение Creat0R »

semiono, я тоже както маялся над этим вопросом, вот решение, только не факт что оно комуто покажется хорошим, я в Autoit ещё не мастер:



Код:

Код: Выделить всё

Global $InstallPath=@ProgramFilesDir & "\MediaStudio"
Blockinput(1)
; Тута не скажу что ставиться, секрет ;-
ShellExecute("****.exe", "/verysilent", "$ScriptDir")
Run("Ulead MediaStudio Pro 8.0.exe")
While 1 = 1
    $i = $i - 1
    $install = WinWaitActive("", "Welcome", 1)
    $deinstall = WinWaitActive("deinstall", "text", 1)
    If $install = 1 Then install()
    If $deinstall = 1 Then deinstall()
    If $i = 1 Then MsgBox(16, "", "error")
WEnd
Func deinstall()
    ;Удаление проги
EndFunc
Func install()
    ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
    WinWaitActive("", "License Agreement")
    ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
    WinWaitActive("", "Choose Destination Location")
    ControlClick("", "", "[Class:Button; Instance:3]", "left", 1)
    Send($InstallPath)
    Sleep(800)
    ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
    Sleep(800)
    ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
    Sleep(800)
    Send("{BS 32}")
    Send($InstallPath & "\Preview")
    Sleep(800)
    ControlClick("", "", "[Class:Button; Instance:3]", "left", 1)
    Sleep(800)
    ControlClick("", "", "[Class:Button; Instance:6]", "left", 1)
    Sleep(200)
    ControlClick("", "", "[Class:Button; Instance:9]", "left", 1)
    Sleep(800)
    ControlClick("", "", "[Class:Button; Instance:2]", "left", 1)
    Sleep(800)
    ControlClick("", "", "[Class:Button; Instance:1]", "left", 1)
    WinWaitActive("", "InstallShield Wizard Complete")
    ControlClick("", "", "[Class:Button; Instance:4]", "left", 1)
EndFunc
Blockinput(0)

Не забудь тыкнуть спасибо




Цитата Creat0R:



можно распаковать установщик тем же винраром и вытащить отдельно файл справки (в крайнем случае 7zip'ом)
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.




Не хочет ни тот ни другой распаковывать говорит это не архив(((
Аватара пользователя
amel27

Re: [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.

Сообщение amel27 »

А что надо распаковать? AutoIt? unattended.org.ua/unattended_soft/winrar/скачать_uniextract-1600 у меня распаковывает.

AutoIt3.chm v3.2.12.1: slil.ru/26305991
Ответить

Вернуться в «AutoIt»