Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Описание:

Цитата:
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя эмуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши, управление окнами и их визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.
Умеет он очень и очень многое! Бесплатный.

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:07 01-06-2010 | Исправлено: Maz, 12:29 10-01-2020
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашёл свой скрипт

    Код:
    #NoTrayIcon
    #RequireAdmin
     
    If Not FileExists('Z:\') Then
        RunWait('imdisk.exe -a -t vm -m Z: -s 512M -p "/fs:FAT32 /q /y /v:RAMDISK"', '', @SW_HIDE)
        RegWrite('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', 'ImDiskZ', 'REG_SZ', 'AutoIt3.exe "C:\Utilities\ImDiskZ.au3"')
    EndIf

    как раз чтобы избежать запуска с запросом повышения прав (традиционные способы автозапуска не подошли). Один момент: скрипты предпочитаю не компилировать, а использовать exe'шники из дистрибутива AutoIt (AutoIt3.exe и AutoIt3_x64.exe с валидной цифровой подписью).
    (Это если будет принято решение держать скрипт как резидентный.)

    Всего записей: 6597 | Зарегистр. 28-01-2008 | Отправлено: 20:20 22-07-2019
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    хм, дык вроде imdisk.exe не требует админполномочий, если образ диска лежит в папке доступной всем для записи
    правда с рамдиском не игрался..

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 21:31 22-07-2019 | Исправлено: dialmak, 21:33 22-07-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    dialmak
    Я писал выше.  
    Без админских полномочий imdisk монтирует диск, но как "не отформатированный".  
     
    Добавлено:
    Skif_off
    Кстати.
    Вопрос по  imdisk в раме.  
    Созданный таким образом диск не виден в mountvol  
    Как определить GUID такого диска, невкурсе?

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 22:53 22-07-2019
    dialmak



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu

    Цитата:
    Без админских полномочий imdisk монтирует диск, но как "не отформатированный".  

    ну дык я ж вроде понятно написал

    Цитата:
    если образ диска лежит в папке доступной всем для записи

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

    Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 01:35 23-07-2019 | Исправлено: dialmak, 01:40 23-07-2019
    Konstantin_K

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Товарищи, а можно вас попросить связаться с админом русского сообщества AutoIt, дабы и зарегистрировал меня на тамошнем форуме? Здесь не могу ему в личку написать, сообщений, видимо, маловато.

    Всего записей: 8 | Зарегистр. 15-05-2019 | Отправлено: 10:07 30-07-2019
    iglezz

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Konstantin_K
    Там же регистрация свободная.

    Всего записей: 1521 | Зарегистр. 18-02-2003 | Отправлено: 18:59 30-07-2019
    Konstantin_K

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    iglezz, спасибо за ответ. Действительно, наконец-то смог зарегистрироваться. Долгое время письмо с ссылкой активации просто-напросто не приходило. А потом с апреля вообще закрыли регистрацию.

    Всего записей: 8 | Зарегистр. 15-05-2019 | Отправлено: 12:18 31-07-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ещё раз привет всем.  
    Вопрос.  
    Нужно реализовать @SW_SHOW / @SW_HIDE через конфиг.  
    Делаю вот так так, не работает.
    Подробнее...
    Пробовал по разному обрамлять $Mode, не получается.  Другие переменные ставятся, эта нет.  Имею подозрение что собака (@) сбивает...  
    Причём если вписать в скрипт  
    $Mode=@SW_SHOW в чистом виде, то переменная подхватывается. Т.е. что то не то с ее чтением из конфига

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 12:46 06-08-2019 | Исправлено: gryu, 12:49 06-08-2019
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu
     
    Два вырианта
     
    В config файле указывать не @SW_SHOW, а его числовое значение (@SW_SHOW=5)
     

    Код:
    ----config---
    ..
    Mode=5  
    ..
    ----end----  

     
    Второй - преобразовать строку в число
     

    Код:
    ----script----
    ...
    $Mode = Execute(IniRead("config.ini","Start","Mode","default"))
    ...
    ***, '', "" & $Mode & ""
    ...
     
    -----end-----  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:24 06-08-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    Где можно глянуть соответствия числовых значений к режимам?  
    Наверное так лучше будет. Но про преобразование тоже запишу.  
    Спасибо.

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 14:32 06-08-2019
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu

    Цитата:
    Где можно глянуть соответствия числовых значений к режимам?  

    Самое простое написать скрипт.

    Код:
    MsgBox(0, '@SW_SHOW',@SW_SHOW)

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:44 06-08-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Хм.
    0 - hide
    5 - show
    ...
    а между ними ещё 1.2.3.4  Интересно это что за режимы?
     
    Добавлено:
    Кстати народ.  
    А есть у работы скрипта режим перечитывания конфига?  
    Ну чтоб от отслеживал конфиг и подгружал изменения или просто перечитывал конфиг по таймауту..

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 15:17 06-08-2019 | Исправлено: gryu, 15:28 06-08-2019
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu
    Посмотрите Macro Reference
     
     
    Добавлено:

    Цитата:
    Ну чтоб от отслеживал конфиг и подгружал изменения или просто перечитывал конфиг по таймауту..  

    А в чем проблема?
    Пишем функцию чтения конфига и прописываем ее запуск с нужным интервалом через AdlibRegister()

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 15:30 06-08-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    проблема в низкой квалификации меня как программера  
    В голову пришло, спросил.  
    Попробую разобраться по подсказке. Спасибо.  
     
    Добавлено:
    Что то не получается.  
     
    Делаю по аналогии с примером из мануала
    Подробнее...
    Вот примерно вот так.  
    Подробнее...
    Не срабатывает. Ctr+F5 показывает ошибку подстановки переменной. Типа "незнаю что такое $Exe в строке исполнения"
     
    P.S.
    И ещё. Из мануала "Вы не можете зарегистрировать функцию, которая использует параметры." ???

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 15:46 06-08-2019 | Исправлено: gryu, 16:04 06-08-2019
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu

    Цитата:
    Вот примерно вот так.


    Код:
    Global $Exe = ''
    AdlibRegister("MyAdlib", 2000)
    Sleep(20000)
    Exit
     
    Func MyAdlib()
    $Exe = IniRead("config.ini","Start","File","default")
    MsgBox(0,'MyAdlib',$Exe,1)
    EndFunc


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 16:14 06-08-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    Гм. мне несколько неудобно, но туплю я.  
    В варианте выше вами указанном, функция работает каждые 2000 миллисекунд на протяжении 20000 миллисекунд.  
    Потом прекращает свою работу.
    Мне же надо чтобы она работала каждые N миллисекунд пока работает скрипт. А скрипт висит на постоянке.  
    В Sleep значения "до упора пока не отключат" я не нашёл.  
    Максимальное время составляет 24 дня...

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 12:23 07-08-2019
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu
    Немного не понял, замените Sleep(20000) на свой скрипт, и будет все работать как вам надо, это же чисто демка.
    Я не знаю, что должен делать ваш скрипт, это уже решать вам.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 12:40 07-08-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    Брррр...
    Так. Я получается ещё более туплю?
    Т.е.  имеем скрипт
    Подробнее...
     
    И ... что то не понял куда его тогда пихать то? .....

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 13:31 07-08-2019
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gryu

    Цитата:
    И ... что то не понял куда его тогда пихать то? .....  

    Так я не написал, замените Sleep(20000) этим скриптом, только в скрипте желательно объявить переменные как глобальные.

    Код:
    Global $Exe = IniRead("config.ini","Start","File","")
    Global ....  

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:42 07-08-2019
    gryu



    дикий гусь
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    del

    Всего записей: 13035 | Зарегистр. 15-03-2006 | Отправлено: 13:50 07-08-2019 | Исправлено: gryu, 13:44 08-08-2019
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
    gyra (23-01-2020 10:51): AutoIT (Часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru