[архив - Часть 2] AutoIt скрипты

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

Re: [архив - Часть 2] AutoIt скрипты

Сообщение Maza Faka »

mikola1983,
Цитата mikola1983:



Пасипа ... а есть какой нибуть вообще вариант отчета ....возможно 1 файл в который дабавятся имена ПК или логоны юзеров ...что нибуть такое по чему можно былобы определить кто отказался от установки.?



Попробуй так:



Код:

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

$Ask = MsgBox(36, "Вопрос", "хочешь установить?")
If $Ask = 6 Then
    MsgBox(64, "Ответ", "Отлично, устанавливаем!")
    ;тут устанавливаем
Else
    MsgBox(48, "Ответ", "А жаль :(")
    $open = FileOpen("c:\test.txt", 1)
    FileWrite($open, @LogonDomain & " - " & @UserName & @CRLF)
    FileClose($open)
    ;тут отсылаем на email ;)
EndIf
Аватара пользователя
Maza Faka

Re: [архив - Часть 2] AutoIt скрипты

Сообщение Maza Faka »

amel27,
Цитата amel27:



ключевой переменной, передаваемой между рекурсивными вызовами является $sRetPath



Значит получается, что переменная совсем не пуста, и в ней хранятся временные данные при вызове функции?
Аватара пользователя
yukko

Re: [архив - Часть 2] AutoIt скрипты

Сообщение yukko »

Подскажите пожалуйста.

Как с помощью AutoIt получить информацию из графического приложения в котором AutoIt Window Info ничего не опознает кроме самого окна приложения. Все внутри окна нарисовано, написано и работает автономно. Хочу написать бот для некоторых манипуляций в онлайн игре.
Аватара пользователя
Maza Faka

Re: [архив - Часть 2] AutoIt скрипты

Сообщение Maza Faka »

Creat0R

В итоге сделал так:



Код:

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

Dim $dest = "c:\Адреналин.avi", $i = 0
Run(@ComSpec & " /c copy /y d:\Video\Films\Адреналин.avi " & $dest, "", @SW_HIDE)
ProgressOn("Please wait...", "Copying file", "", -1, -1, 16)
AdlibEnable("Check", 500)
While 1
    Sleep(100)
WEnd
Func Check()
    If FileMove($dest, $dest, 1) Then
        AdlibDisable()
        ProgressSet(100, "Done")
        Sleep(500)
        Exit
    Else
        $i += 10
        If $i > 100 Then $i = 0
            ProgressSet($i, "file copyied")
        EndIf
    EndFunc
Аватара пользователя
Diamond

Re: [архив - Часть 2] AutoIt скрипты

Сообщение Diamond »

Creat0R,


Цитата:



Написал тут утилитку для сохранения и восстановления позиции иконок рабочего стола...



Очень нужная вещь, спасибо. Изображение
Аватара пользователя
Maza Faka

Re: [архив - Часть 2] AutoIt скрипты

Сообщение Maza Faka »

adima

В настройках радмина есть опция скрытия иконки.
Аватара пользователя
mariolast

Re: [архив - Часть 2] AutoIt скрипты

Сообщение mariolast »

спасибо огромное, очень помог!

еще один вопрос , может ли AutoItSetOption("TrayIconHide", 1) повлиять как то на работу скрипта?
Аватара пользователя
amel27

Re: [архив - Часть 2] AutoIt скрипты

Сообщение amel27 »

Цитата Creat0R:



А подробнее можно плиз?



как раз тот случай, когда для нахождения нового символа вместо перебора всех элементов массива и попарного сравнения можно в качестве индекса просто указать старый символ и сразу получить результат. Хотя кода для инициализации массива Scripting.Dictionary потребуется больше, зато сама перекодировка символа будет проходить одной командой.


Цитата Creat0R:



нужно получить текст с начала строки



если навскидку - выделение всей строки и возврат текста текущего контрола:



Код:

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

Send("{HOME}+{END}")



Код:

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

$sText = ControlGetText ("", "", ControlGetFocus (""))


Цитата Creat0R:



с длинными кусками текста немного замедлено выделение, но это всё что я пока могу придумать



да уж, мне тоже ничего лучше в голову пока не приходит, надо подумать Изображение
Аватара пользователя
samsobi

Re: [архив - Часть 2] AutoIt скрипты

Сообщение samsobi »

Creat0R
Цитата:



Имхо, возвращаемое значение не должно быть -1 в подобной функции, чтобы это не отобразилось случайно



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


Цитата:



как это засикается скорость обработанных файлов





Код:

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

#include 
Global $ProcessCount, $ProcessLines=0
$pid = Run (@ComSpec & ' /C DIR /B /S *.*', 'C:\', @SW_HIDE, $STDOUT_CHILD)
_GetProgressSpeed ($ProcessCount, -1, 100)
While 1
    Sleep(100)
    $text = StdoutRead($pid)
    If @error Then ExitLoop
    $count = StringLen($text)-StringLen(StringStripCR($text))
    $ProcessLines+= $count
    $files = StringFormat('Processed %i files', $ProcessLines)
    $speed = StringFormat('Speed: %i Files/Sec',_GetProgressSpeed($ProcessCount, $ProcessLines)*1000)
    TrayTip('', $files & @CRLF & $speed, 10, 16)
    ConsoleWrite ($text)
Wend


Цитата:



или что ещё более удивитеьнее (для меня), как это работает на “произведенных кликов мышки”?





Код:

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

#include 
Global $ProcessCount, $ProcessClicks=0
Opt("GUIOnEventMode", 1)
GUICreate("My GUI")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Quit")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_AddClick")
_GetProgressSpeed ($ProcessCount, -1, 50)
GUISetState (@SW_SHOW)
While 1
    Sleep(100)
    $clicks = StringFormat('Processed %i clicks', $ProcessClicks)
    $speed = StringFormat('Speed: %.2f Clicks/Sec',_GetProgressSpeed($ProcessCount, $ProcessClicks)*1000)
    TrayTip('', $clicks & @CRLF & $speed, 10, 16)
Wend
Func _AddClick()
    $ProcessClicks+=1
EndFunc
Func _Quit()
    Exit
EndFunc


Цитата:



Функция для подсчёта скорости, в оригинале возвращает байты/мс, или байты/с ?



как и AutoIT - миллисекунды


Цитата:



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





Код:

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

Func _InetGetRemained($Bytes, $TotalBytesSize, $SpeedByBytes)
    Local $RemainedSecs = ($TotalBytesSize - $Bytes) / ($SpeedByBytes * 1000)
    If $RemainedSecs 
Аватара пользователя
Maza Faka

Re: [архив - Часть 2] AutoIt скрипты

Сообщение Maza Faka »

Creat0R


Цитата:



Твой пример не работает?



Работает, но только для RadioButton, а мне надо для Button.
Ответить

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