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

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

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

(*.*)


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


Конфигурация

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


Изменения
Автор: Vadikan
Дата: 21-01-2009
Описание: архив
Внимание!


В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно Заголовок темы должен быть осмысленным.



Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).


Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).

Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску)
(он же прикреплен в шапке)


Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

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

Отправлено: 00:02, 05-02-2006

 

Аватара для FlatX007

Ветеран


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

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


Вообщем в некой части скрипта есть во такой код (который устанавливает прогресс бар)

Вопрос .... ! можно это ещё как либо доработать ??? Creat0R (скрипт рабочий) и ещё у меня ошибка в начале где : If $ySize_Total == 451490049 Then и я немогу понять почему.

Код: Выделить весь код
;*********

            $ScriptDir = @ScriptDir
            $sDrive_Selected = "D:\"
            ;Проверяем размер копируеммых файлов
            $ySize_Menu = DirGetSize($ScriptDir & "\" & "Menu"); Папка на источника
            $ySize_Soft = DirGetSize($ScriptDir & "\" & "Soft"); Папка на источника
            $ySize_Total = $ySize_Soft + $ySize_Menu ; Размер фалов на источнике всего - 451 490 049 байт

;~          If $ySize_Total == 451490049 Then
;~                  ContinueLoop
;~              Else
;~                  MsgBox(0, "Внимание", "Произошла ошибка при проверке размера копируемых файлов")
;~              Exit
;~          EndIf

            IniWrite (@TempDir & '\CopyToUsb.ini', "settings", "KeyDrive", $sDrive_Selected); Записывам в INI выбранный диск например J:\
            IniWrite (@TempDir & '\CopyToUsb.ini', "settings", "KeyPATH", $ScriptDir) ; Записываем в INI путь папки из которой запущен скрипт

            GUISetState(@SW_DISABLE, $hGUI) ;Блокируем GUI на время копирования
            ProgressOn("", "Идёт копирование", "" ,100 ,100 ,1)
            FileInstall (@ScriptDir & '\CopyToUsb.exe', @TempDir & '\CopyToUsb.exe', 1)
            Run(@TempDir & '\CopyToUsb.exe')

    $w = 0
    While $w < 1
            $zSize_Menu = DirGetSize($sDrive_Selected & "Menu");папка на приёмнике
            $zSize_Soft = DirGetSize($sDrive_Selected & "Soft");папка на приёмнике

            $zSize_Total = $zSize_Soft + $zSize_Menu ; Размер фалов на приёмнике Итог после окончания копирования должен быть 451 490 049 байт
            $zSize_1 = $zSize_Total / 1000000; Итог 451.ххх
            $zSize_PrBar = Round(($zSize_1) + 49) / 5; = 100

            $Ver_Copy = IniRead(@TempDir & '\CopyToUsb.ini', "settings", "Copy", "default") ; Cчитываем из INI значение о правильности копирования

            ProgressSet($zSize_PrBar, $zSize_PrBar & "  % выполнения")
                sleep(300)

            If $zSize_Total < 451490049 Then
                $w = 0
            Else
                    If $Ver_Copy = 1 Then
                        ProgressSet(100 , "Готово", "Выполнено")
                        sleep(3000)
                        ProgressOff()
                        $w = 2
                        MsgBox(64, "Внимание", "Копирование прошло удачно")
                    EndIf

                    If $Ver_Copy = 0 Then
                        ProgressSet(100 , "Ошибка", "Не выполнено")
                        sleep(3000)
                        ProgressOff()
                        MsgBox(16, "Внимание", "Произошла ошибка при копировании")
                        Exit
                    EndIf
            EndIf
    WEnd

        GUISetState(@SW_ENABLE, $hGUI)
        Case $GUI_EVENT_CLOSE, $Cancel_Button
            ExitLoop
    EndSwitch
WEnd


Впоследствии это станет "CopyToUsb.exe" который находится внутри закомпилированного скрипта (он выше) и сопсн говоря это приложение и будет выполнять копирование
Код: Выделить весь код
#NoTrayIcon

$sDrive = IniRead(@TempDir & '\CopyToUsb.ini', "settings", "KeyDrive", "default1"); Считываем из INI выбранный диск например J:\
$sScriptDir = IniRead(@TempDir & '\CopyToUsb.ini', "settings", "KeyPATH", "default2"); Считываем из INI путь папки из которой запущен скрипт

While 1

        $xVer_1 = DirCopy($sScriptDir & "\" & "Menu", $sDrive & "Menu")
        $xVer_2 = DirCopy($sScriptDir & "\" & "Soft", $sDrive & "Soft")
        $xVer = $xVer_2 + $xVer_1

    If $xVer == 2 Then
        IniWrite (@TempDir & '\CopyToUsb.ini', "settings", "Copy", "1"); Записывам в INI о том что копирование удачно
        ExitLoop
    Else
        IniWrite(@TempDir & '\CopyToUsb.ini', "settings", "Copy", "0") ; Записываем в INI о том что копирование неудачно
        ExitLoop
    EndIf

WEnd

;~ FileDelete(@TempDir & '\CopyToUsb.ini')

Exit

Отправлено: 01:50, 15-01-2009 | #1531



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

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


Аватара для semiono

Ветеран


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

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


Цитата Creat0R:
Примерно так: »
а вчём примерно ошибки могут быть? класс чтоль не тот? taskmgr открывается, но ничего не происходит.

титул: Windows Task Manager
меню: Shut Down
/список: Stand By | Hibernate | Turn Off | Restart | Log Off Semiono | Lock Computer WinKey + L

надо Restart нажать!

-------
Полезное сообщение


Отправлено: 02:01, 15-01-2009 | #1532


Аватара для Creat0R

Must AutoIt


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

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


Цитата semiono:
меню: Shut Down / Stand By | Hibernate | Turn Off | Restart | Log Off Semiono | Lock Computer WinKey + L »
А какое по счёту меню «Shut Down» слева?

P.S
4 нужно заменить на 3 в скрипте.

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

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

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


Отправлено: 02:06, 15-01-2009 | #1533


Аватара для Maza Faka

Ветеран


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

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


voler,
Цитата voler:
не нажимает на окно предупреждения »
А если так:
Код: Выделить весь код
ControlClick("Setup", "component is not supported", "OK")
Цитата FlatX007:
можно это ещё как либо доработать ? »
Хотя вопрос задан не мне...
Во первых - пример не рабочий, во вторых - неправильное использование функции FileInstall (читаем справку).

P.S.
Если хочешь получить грамотную помощь - задавай грамотные вопросы, с рабочими примерами

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 07:27, 15-01-2009 | #1534


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


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

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


Maza Faka А если прятать окно?
GuiSetState(@SW_HIDE, $hGUI)
А откуда взялась переменая $hGUI если нетрудно перепешите . Раньше это было два разных скрипта и если я вызывал с основного скрипта по функции run диалоговое окно то оно отрабатывалось как отдельный скрипт и спокойно закрывалось поExit не затрагивая работу основного скрипта.
но хотелось бы зделать по компактнее.

-------
Да всё гениальное заключаеться в простом!!!


Отправлено: 10:03, 15-01-2009 | #1535


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


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

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


Ребята, а подскажите как выгрузить из процесса одну dll. То есть, есть процесс (допустим explorer.exe) к нему подгружается одна dll вот как её выгрузить не убивая сам процесс ?

Отправлено: 10:45, 15-01-2009 | #1536


Аватара для TERMINAL

Ветеран


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

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


Возможно ли при присутствии 4 разделов жёсткого диска определить какие системы находятся на других жёстких дисках?

-------
Автоматизация прежде всего....


Отправлено: 12:53, 15-01-2009 | #1537


Аватара для Maza Faka

Ветеран


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

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


Цитата litus:
Раньше это было два разных скрипта »
Выложи их здесь и обьясни поподробней, что нужно сделать

TERMINAL
Либо парсить boot.ini, либо искать папки с именами: Windows, WinNT и т.д.

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 14:05, 15-01-2009 | #1538


Аватара для TERMINAL

Ветеран


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

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


Цитата Maza Faka:
Либо парсить boot.ini »
- это неподойдет и по имени папок неподойдёт, может по наличию каких-либо файлов ?

-------
Автоматизация прежде всего....


Отправлено: 14:25, 15-01-2009 | #1539


Аватара для FlatX007

Ветеран


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

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


Цитата Maza Faka:
Хотя вопрос задан не мне...
Во первых - пример не рабочий, во вторых - неправильное использование функции FileInstall (читаем справку....
»
очень странно но у меня всё работает ... что, неправильно в FileInstall ? файлик CopyToUsb.exe попадает во временную папку и от туда запускается

А да извиняюсь ошибка есть ... компилятор выдал только при компиляции скрипта в ЕХЕ
Вот так работает : FileInstall ("CopyToUsb.exe", @TempDir & '\CopyToUsb.exe', 1)

Последний раз редактировалось FlatX007, 07-08-2009 в 23:32.


Отправлено: 17:21, 15-01-2009 | #1540



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ FOX RED Защита компьютерных систем 67 21-11-2007 15:05
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход