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

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

Закрытая тема
Настройки темы
[архив - Часть 2] AutoIt скрипты

(*.*)


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


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

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


Изменения
Автор: Vadikan
Дата: 27-01-2008
Внимание!
Тема переведена в архивное состояние







(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.


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

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



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

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

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

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

 

Аватара для TERMINAL

Ветеран


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

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


Creat0R, для теста скопировал и переделал на - _CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION))

Вот какие ошибки...
читать дальше »
C:\test.au3(1,48) : WARNING: $FOR_COPY: possibly used before declaration.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,75) : WARNING: $FOF_NOCONFIRMMKDIR: possibly used before declaration.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,96) : WARNING: $FOF_NOCONFIRMATION: possibly used before declaration.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,48) : ERROR: $FOR_COPY: undeclared global variable.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,97) : ERROR: _CopyWithProgress(): undefined function.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3 - 2 error(s), 3 warning(s)

Надпись внизу
>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\test.au3" /autoit3dir "C:\Program Files\AutoIt3" /UserParams
+>10:04:40 Starting AutoIt3Wrapper v.1.9.2
>Running AU3Check (1.54.3.0) from:C:\Program Files\AutoIt3
C:\test.au3(1,48) : WARNING: $FOR_COPY: possibly used before declaration.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,75) : WARNING: $FOF_NOCONFIRMMKDIR: possibly used before declaration.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,96) : WARNING: $FOF_NOCONFIRMATION: possibly used before declaration.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,48) : ERROR: $FOR_COPY: undeclared global variable.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3(1,97) : ERROR: _CopyWithProgress(): undefined function.
_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\test.au3 - 2 error(s), 3 warning(s)
!>10:04:40 AU3Check ended.rc:2
+>10:06:25 AutoIt3Wrapper Finished
>Exit code: 0 Time: 105.462


а за @OSVersion большое СПС !

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


Отправлено: 11:08, 11-12-2007 | #851



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

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


Аватара для Creat0R

Must AutoIt


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

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


TERMINAL,
Цитата:
Вот какие ошибки...
Эти ошибки говорят о том, что функция использовалась без констант, и без самой функции включённой в скрипт

Нужно так:

Код: Выделить весь код
;Тут нужные константы
#Region consts
Global Const $FOR_MOVE = 0x0001
Global Const $FOR_COPY = 0x0002
Global Const $FOR_DELETE = 0x0003
Global Const $FOR_RENAME = 0x0004

Global Const $FOF_MULTIDESTFILES = 0x0001
Global Const $FOF_CONFIRMMOUSE = 0x0002
Global Const $FOF_SILENT = 0x0004
Global Const $FOF_RENAMEONCOLLISION = 0x0008
Global Const $FOF_NOCONFIRMATION = 0x0010
Global Const $FOF_WANTMAPPINGHANDLE = 0x0020
Global Const $FOF_ALLOWUNDO = 0x0040
Global Const $FOF_FILESONLY = 0x0080
Global Const $FOF_SIMPLEPROGRESS = 0x0100
Global Const $FOF_NOCONFIRMMKDIR = 0x0200
Global Const $FOF_NOERRORUI = 0x0400
Global Const $FOF_NOCOPYSECURITYATTRIBS = 0x0800
Global Const $FOF_NORECURSION = 0x1000
Global Const $FOF_NO_CONNECTED_ELEMENTS = 0x2000
Global Const $FOF_WANTNUKEWARNING = 0x4000
Global Const $FOF_NORECURSEREPARSE = 0x8000
#Endregion consts
;

_CopyWithProgress("D:\$OEM$", "C:\9", $FOR_COPY, BitOR($FOF_NOCONFIRMMKDIR, $FOF_NOCONFIRMATION))

;Это функция, без которой ничего работать не будет ;)
Func _CopyWithProgress($sFrom, $sTo, $OPERATION_MODE, $GENERAL_MODE)
    ; version 1 by SumTingWong on 5/26/2006
    ; http://www.autoitscript.com/forum/index.php?showtopic=11888
    ; updated by lod3n on 6/5/2007

    Local $SHFILEOPSTRUCT
    Local $pFrom
    Local $pTo
    Local $aDllRet
    Local $nError = 0
    Local $i

    If FileExists($sTo) And StringRight($sFrom, 3) <> "*.*" And StringInStr(FileGetAttrib($sFrom), "D") Then $sFrom &= "\*.*"

    $SHFILEOPSTRUCT = DllStructCreate("int;uint;ptr;ptr;uint;int;ptr;ptr")
    If @error Then Return "nostruct"
    ; hwnd
    DllStructSetData($SHFILEOPSTRUCT, 1, 0)
    ; wFunc
    DllStructSetData($SHFILEOPSTRUCT, 2, $OPERATION_MODE)
    ; pFrom
    $pFrom = DllStructCreate("char[" & StringLen($sFrom) + 2 & "]")
    ; pFrom will now be null-terminated at StringLen($sFrom)+1
    DllStructSetData($pFrom, 1, $sFrom)
    For $i = 1 To StringLen($sFrom) + 2
        If DllStructGetData($pFrom, 1, $i) = 10 Then DllStructSetData($pFrom, 1, 0, $i)
    Next
    ; We need a second null at the end
    DllStructSetData($pFrom, 1, 0, StringLen($sFrom) + 2)
    DllStructSetData($SHFILEOPSTRUCT, 3, DllStructGetPtr($pFrom))
    ; pTo
    $pTo = DllStructCreate("char[" & StringLen($sTo) + 2 & "]")
    ; pTo will now be null-terminated at StringLen($sTo)+1
    DllStructSetData($pTo, 1, $sTo)
    ; We need a second null at the end
    DllStructSetData($pTo, 1, 0, StringLen($sTo) + 2)
    DllStructSetData($SHFILEOPSTRUCT, 4, DllStructGetPtr($pTo))
    ; fFlags
    DllStructSetData($SHFILEOPSTRUCT, 5, $GENERAL_MODE)
    ; fAnyOperationsAborted
    DllStructSetData($SHFILEOPSTRUCT, 6, 0)
    ; hNameMappings
    DllStructSetData($SHFILEOPSTRUCT, 7, 0)
    ; lpszProgressTitle
    DllStructSetData($SHFILEOPSTRUCT, 8, 0)
    $aDllRet = DllCall("shell32.dll", "int", "SHFileOperation", "ptr", DllStructGetPtr($SHFILEOPSTRUCT))
    $retcode = $aDllRet[0]
    $pFrom = 0
    $pTo = 0
    $SHFILEOPSTRUCT = 0
    If $retcode <> 0 Then
        SetError($nError)
        Return False
    EndIf
    Return True
EndFunc   ;==>_CopyWithProgress

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

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

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

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

Отправлено: 11:41, 11-12-2007 | #852


Аватара для TERMINAL

Ветеран


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

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


Creat0R, сори, протупил...всё получилось, но копирование происходит в верхнем левом углу
(можно в другое место?)
А хотелось бы, чтобы выглядело это так
читать дальше »
GUICreate("Копирование...", 520, 60)
GUICtrlCreateLabel("Выполняется подготовка дистрибутива Windows XP Professional Edition Service Pack 2 Plus", 30, 20)
GUISetState(@SW_SHOW)
Sleep(5000)


и ниже после Выполняется подготовка дистрибутива Windows XP Professional Edition Service Pack 2 Plus шла шкала и время копирования....
примерно я хочу так
читать дальше »
#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Копирование...", 633, 103, 193, 125)
$Label1 = GUICtrlCreateLabel("Выполняется подготовка дистрибутива Windows XP Professional Edition Service Pack 2 Plus", 80, 16, 463, 17)
$Progress1 = GUICtrlCreateProgress(80, 40, 462, 17)
$Label2 = GUICtrlCreateLabel("до окончания копирования осталось - 3 мин.38 сек.", 176, 64, 268, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

EndSwitch
WEnd

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


Отправлено: 12:00, 11-12-2007 | #853


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


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

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


amel27
Цитата amel27:
вот пример изменения состояния компонента:
Код:
#Include <GuiListView.au3>
$Name = "Клиент для сетей Microsoft"
$hWnd = WinGetHandle("Подключение по локальной сети")
If Not @error Then
$hSLV = ControlGetHandle($hWnd, "", "SysListView321")
If Not @error Then
_SysListViewToggle($hSLV, $Name)
MsgBox(48, '', 'Состояние элемента "'& $Name &'" изменено')
EndIf
EndIf
Func _SysListViewToggle($hSLV, $sText)
Local $idx = _GUICtrlListView_FindInText($hSLV, $sText)
_GUICtrlListView_SetItemSelected ($hSLV, $idx)
_GUICtrlListView_SetItemFocused ($hSLV, $idx)
ControlSend($hWnd, "", "SysListView321", "{SPACE}")
EndFunc
все-таки какую задачу должен решать скрипт? »
Необходимо открыть свойство компонента "Протокол Интернета (TCP/IP)"

Цитата Creat0R:
$ConnPropTitle = 'Подключение по локальной сети'
$TabText = "Проверка"
_OpenConnProperties($ConnPropTitle)
WinWait($ConnPropTitle)
$iIndex = _ControlTab($ConnPropTitle, "", "FindTab", $TabText, "", True)
_ControlTab($ConnPropTitle, "", "TabSelect", $iIndex)
Sleep(2500)
Func _OpenConnProperties($sConnName)
Local $oShellApp = ObjCreate('shell.application')
Local $oCP = $oShellApp.Namespace (3), $Item
For $Item In $oCP.Items
If $Item.name = 'Сетевые подключения' Then
For $Item In $Item.Getfolder.Items
If $Item.name = $sConnName Then $Item.InvokeVerb ('Сво&йства')
Next
EndIf
Next
EndFunc »
Creat0R
я так понимаю что $TabText = "название закладки". Если это так то в моем случае я делаю так $TabText="Дополнительно", но скрипт не переключает на данную закладку.

Отправлено: 12:57, 11-12-2007 | #854


Аватара для Creat0R

Must AutoIt


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

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


TERMINAL,
Цитата:
примерно я хочу так
Нужно либо использовать ещё один процесс (криво получится), либо создать своё окно и механизм копирования (тоже криво, но зато многими параметрами можно управлять).
У меня уже есть рабочий механизм (кажется даже приводил уже здесь), но для твоей задачки нужно немного переделать, если такой вариант подходит, позже выложу.


Kenwood3D,
Цитата:
Необходимо открыть свойство компонента "Протокол Интернета (TCP/IP)"
Можно просто выбрать эту строку и нажать на кнопку “Свйоства” ...

Код: Выделить весь код
$ConnPropTitle = 'Подключение по локальной сети'
$Name = "Протокол Интернета (TCP/IP)"

_OpenConnProperties($ConnPropTitle)

WinWait($ConnPropTitle)

$Index = ControlListView($ConnPropTitle, "", "SysListView321", "FindItem", $Name)
ControlListView($ConnPropTitle, "", "SysListView321", "Select", $Index)
ControlClick($ConnPropTitle, "", "Button4")

Sleep(2500)

Func _OpenConnProperties($sConnName)
    Local $oShellApp = ObjCreate('shell.application')
    Local $oCP = $oShellApp.Namespace (3), $Item
    For $Item In $oCP.Items
        If $Item.name = 'Сетевые подключения' Then
            For $Item In $Item.Getfolder.Items
                If $Item.name = $sConnName Then $Item.InvokeVerb ('Сво&йства')
            Next
        EndIf
    Next
EndFunc
Цитата:
скрипт не переключает на данную закладку
Странно, у меня переключает... попробуй $TabText = "Допол" - или указать точное имя и заменить True на False (последний параметр в функции _ControlTab()).

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

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

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


Отправлено: 17:07, 11-12-2007 | #855


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


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

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


Цитата Creat0R:
Странно, у меня переключает... попробуй $TabText = "Допол" - или указать точное имя и заменить True на False (последний параметр в функции _ControlTab()). »
Уже так делал, ни одну закладку не хочет включать.
$iIndex = _ControlTab($ConnPropTitle, "", "FindTab", $TabText, "", True) и всегда равняется 0


Цитата Creat0R:
Можно просто выбрать эту строку и нажать на кнопку “Свйоства” ...
Код:
$ConnPropTitle = 'Подключение по локальной сети'
$Name = "Протокол Интернета (TCP/IP)"
_OpenConnProperties($ConnPropTitle)
WinWait($ConnPropTitle)
$Index = ControlListView($ConnPropTitle, "", "SysListView321", "FindItem", $Name)
ControlListView($ConnPropTitle, "", "SysListView321", "Select", $Index)
ControlClick($ConnPropTitle, "", "Button4")
Sleep(2500)
Func _OpenConnProperties($sConnName)
Local $oShellApp = ObjCreate('shell.application')
Local $oCP = $oShellApp.Namespace (3), $Item
For $Item In $oCP.Items
If $Item.name = 'Сетевые подключения' Then
For $Item In $Item.Getfolder.Items
If $Item.name = $sConnName Then $Item.InvokeVerb ('Сво&йства')
Next
EndIf
Next
EndFunc »
То что надо! Спасибо!

Может тогда еще подскажите как в "Подключение по локальной сети - свойства" -> Настроить -> "Свойства: " выбрать закладку "Дополнительно" и там выбрать свойство "Сетевой адрес"? А то видемо из-за закладок не могу определить ClassNameNN списка.

Последний раз редактировалось Kenwood3D, 12-12-2007 в 11:38.


Отправлено: 00:15, 12-12-2007 | #856


Аватара для TERMINAL

Ветеран


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

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


Creat0R, ок, буду ждать... А выглядеть будет так как я хотел?

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


Отправлено: 11:01, 12-12-2007 | #857


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


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

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


Народ, подскажите плииз - не могу понять в чем дело. Сделал скрипт для автоматической установки AutoCAD 2006 Russian:
читать дальше »

; User Var's
$SF_1 = "setup.exe" ; Setup File Name
$UR_1 = "xxx" ; User Registration Code Part 1
$UR_2 = "xxxxxxxx" ; User Registration Code Part 2
$UR_3 = "Name" ; User Registration Name
$UR_4 = "o" ; User Registration Surname
$UR_5 = "Firme" ; User Registration Organization
$UR_6 = "o" ; User Registration Supplier
$UR_7 = "o" ; User Registration Phone No.


Run($SF_1)

; Welcome
WinWaitActive ("Установка Autodesk","Перед установкой AutoCAD 2006 ","Button1")
ControlClick ("Установка Autodesk","Перед установкой AutoCAD 2006 ","Button1")
WinWaitActive ("Установка AutoCAD 2006","Добро пожаловать в Мастер уста","Button1")
Sleep ( 5000 )
ControlClick ("Установка AutoCAD 2006","Добро пожаловать в Мастер уста","Button1")

; License
WinWait("Установка AutoCAD 2006","Страна или территори")
WinWaitActive("Установка AutoCAD 2006","Страна или территори")
Sleep ( 2000 )
Send("{TAB}{TAB}{UP}{ENTER}")

; Serial
WinWait("Установка AutoCAD 2006","Серийный номер ")
WinWaitActive("Установка AutoCAD 2006","Серийный номер ")
Sleep ( 1550 )
SEND ( $UR_1 )
Sleep ( 250 )
SEND ( $UR_2 )
ControlClick ( "Установка AutoCAD 2006", "", "Button1" )

; User Information
WinWait("Установка AutoCAD 2006","Укажите в полях этог")
WinWaitActive("Установка AutoCAD 2006","Укажите в полях этог")
Sleep ( 1250 )
SEND ( $UR_3 )
SEND ("{TAB}")
SEND ( $UR_4 )
SEND ("{TAB}")
SEND ( $UR_5 )
SEND ("{TAB}")
SEND ( $UR_6 )
SEND ("{TAB}")
SEND ( $UR_7 )
SEND ("{TAB}")

;ControlClick ( "Установка AutoCAD 2006", "", "Button4" )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")
Sleep ( 250 )
Send("{ENTER}")

; Install Ends
WinWait( "Установка AutoCAD 2006","В&ывести файл Readme")
WinWaitActive( "Установка AutoCAD 2006","В&ывести файл Readme")
ControlClick ( "Установка AutoCAD 2006", "", "Button1" )
Sleep(1000)
Send("{SPACE}")
Send("{ENTER}")

Exit
на основе скрипта для установки AutoCAD 2005, взятым на форуме MSFN. Для мониторинга вводимых команд использовал ScriptWriter. Все вроде работает, НО... только с жесткого диска .
При попытке запустить установку с DVD-ROM (одновременно с Unattended-установкой Windows), все срубается. Такое ощущение, что "кто-то" (что-то) жмёт на клавиши раньше записанных действий, и весь автоматизм нарушается. Попытки отмониторить весь процес уже при установке с DVD-ROM к успеху не привели - ScriptWriter тупо зависает, и не дает сохранить лог действий. Ничего больше в голову не приходит - я в AutoIT начинающий. И ведь при установке с винта все РАБОТАЕТ БЕЗ ПРОБЛЕМ - пробовал на разных компах...
Что тут можно посоветовать?
И еще. При выполнении даже скомпиленного AutoIT-скрипта в трее остается значок, который продолжает "висеть", когда весь процесс нарушается (Script paused). Этого можно как-нибудь избежать? В опциях компиллера (Aut2Exe) я ничего об этом не нашел . Дело в том, что из-за этого нарушается весь процесс дальнейшей установки...

Отправлено: 15:29, 12-12-2007 | #858


Аватара для Creat0R

Must AutoIt


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

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


Вложения
Тип файла: zip Copy_With_Progress.zip
(6.8 Kb, 71 просмотров)

Прикрепляю первую версию самодельной функции для копирования папок вместе с их содержимым...

Две проблемы которые нужно решить:

1) Более точный подсчёт оставшегося до окончания копирования времени (мне кажтся у меня вообще неверный подсчёт, делал давно).

2) AVI-Анимация останавливается на время копирования большого файла - это можно было бы решить если создание всего GUI повесить на отдельный скрипт, но тогда будет висеть два процесса для одной задачи .

P.S
В скрипте используются много CallBack-вызовов.. что может повлиять на нагрузку памяти на время копирования.

Для примера нужно распаковать архив, открыть файл Copy With Progress Example.au3, и выставить нужные пути.
В самой функции (в качестве параметров) можно указать размеры окна и его местоположение на экране.

TERMINAL,
Цитата:
А выглядеть будет так как я хотел?
Посколько оболочка это самодельный GUI, то выглядеть может как угодно

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

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

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


Отправлено: 18:23, 12-12-2007 | #859


Аватара для Creat0R

Must AutoIt


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

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


SergeyAV,
Цитата:
Такое ощущение, что "кто-то" (что-то) жмёт на клавиши раньше записанных действий
Нужно везде ставить проверки, на существования окна, активность окна, и т.п.
А также все Send() наверняка можно переделать в ControlClick, но точно сказать немогу, негде проверить.

Цитата:
Этого можно как-нибудь избежать?
Да, в начало скрипта поставь #NoTrayIcon

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

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

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

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

Отправлено: 18:29, 12-12-2007 | #860



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[Архив - Часть 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




 
Переход