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

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

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

Сообщение Sanja Alone »

Dark Engel

Смоти соседнюю тему Изображение Просто start /wait wpi.hta и все...
Аватара пользователя
DenchikK

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

Сообщение DenchikK »

Dark Engel


Цитата:



Никто не подскажет как запустить файл.hta



Нужно указать ПОЛНЫЙ путь к файлу:



Код:

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

run ("mshta путь\имя файла.hta")

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

Код:

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

run ("mshta " & @ScriptDir & "\имя файла.hta")
Аватара пользователя
DenchikK

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

Сообщение DenchikK »

AutoIt 3.2

Новая версия программы, предназначенной для автоматизации часто выполняемых действий в ОС Windows. Утилита позволяет повторять нажатия клавиш клавиатуры, перемещение и клики мышкой, манипуляции с окнами приложений, работу с буфером обмена и другие действия пользователя. Например, с помощью этой программы можно производить установку однотипных приложений. Для выполнения автоматических действий AutoIt создает текстовый сценарий, который использует функции и операторы VBScript и BASIC, а также некоторых других языков программирования. После создания программой специального управляющего скрипта, его можно скомпилировать в исполняемый файл, который будет работать в любой операционной системе семейства Windows. В новой версии изменен синтаксис написания скрипта, добавлены новые способы взаимодействия с ОС, улучшена совместимость с различными языковыми версиями Windows.

ОС: Windows 95/98/Me/NT/2000/XP/2003 | Англ. интерфейс | Бесплатно.

Скачать | download AutoIt 3.2 >> (2891 кб)

http://www.autoitscript.com/files/au...t-v3-setup.exe
Аватара пользователя
ANGRO

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

Сообщение ANGRO »

А вот очередной семпл cделанный на последней стабильной версии.



Код:

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

Const $RASPBDFLAG_PositionDlg      = 0x00000001 ;+ xDlg и yDlg
Const $RASPBDFLAG_ForceCloseOnDial = 0x00000002
Const $RASPBDFLAG_NoUser           = 0x00000010
Const $RASPBDFLAG_UpdateDefaults   = 0x80000000
;RASPBDLG
$a  = DllStructCreate("dword;int;dword;int;int;uint;ptr;dword;uint;uint")
; наполнение структуры
DllStructSetData($a,1,DllStructGetSize($a));dwSize
DllStructSetData($a,2,0);hwndOwner
DllStructSetData($a,3,$RASPBDFLAG_UpdateDefaults);dwFlags
DllStructSetData($a,4,100);xDlg
DllStructSetData($a,5,100);yDlg
DllStructSetData($a,6,0);dwCallbackId
DllStructSetData($a,7,0);pCallback
DllStructSetData($a,8,0);dwError
DllStructSetData($a,9,0);reserved
DllStructSetData($a,10,0);reserved2
; Вызов DLL
$Dll1 = DllCall("Rasdlg.dll", "int", "RasPhonebookDlg", "str", 0, "str", 0, "ptr", DllStructGetPtr($a))
MsgBox(48, "Error", "Error: " & @error & " | " & "Error RASPBDLG: " & DllStructGetData($a,8))
Аватара пользователя
Dirk Diggler

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

Сообщение Dirk Diggler »

А что такое COM object support и COM вообще? Дайте пару ссылок
Аватара пользователя
Dirk Diggler

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

Сообщение Dirk Diggler »

Как вариант 288 пост
Аватара пользователя
Creat0R

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

Сообщение Creat0R »

Dirk Diggler


Цитата:



CreatOR, как и положено тупизню, не пытался разобраться в механизме действия скрипта, потому и не понял, почему скрипт не работает



А вот это зря. Зачем так оскорблять? во-первых, я всё пытался, и ставить там нужно не %%, а просто вместо второй @ символ & или как указал bogomolov, ставить в начало скрипта Opt("ExpandVarStrings",1)...

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





bogomolv


Цитата:



Не могут они не работать!



Могут (может), и не работает! Проверьте кто-нить если не трудно - Файл пусть будет в кодировке Utf-8, а поиск должен производится по русскому слову...



---------------

У меня есть другой трабл, буду благодарен если кто-то сможет помочь:



По непонятной мне причине, когда делаю проверку на существование файла, то скрипт его в любом случае находит, хотя на самом деле его нет... это происходит после попытки закачять файл из сети... вобщем вот скрипт, который пытается скачать файл из сети, и мне нужно сделать так, что если файл небыл скачен, то должно быть предупреждение об этом (MsgBox):





Код:

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

;Берём ссылку из буффера обмена
$Clip = ClipGet()
;Пытаемся закачать файл по ссылке из буффера обмена
$InetGet = InetGet($Clip, "c:\file.zip", 1, 1)
;Показываем процесс закачки
While @InetGetActive
  TrayTip("Закачиваю", "Байты = " & @InetGetBytesRead, 10, 1)
Sleep(250)
Wend
;Пытаемся проверить, закачался ли файл, но безуспешно :)
If Not FileExists("c:\file.zip") Then MsgBox(0, "error", "The Download is fail")
;Пытаемся другим способом, но он действует только если в буффере обмена не была ссылка, т.е если в буффера было что-то такое http://ссылка.zip, то ничего не происходит, а если типа такого - ссылка, то выдаёт ошибку
If $InetGet = 0 Then MsgBox(0, "error", "The Download is fail")

Неужели нету корректной проверки на то, закачался ли файл, или ещё лучше, правильная ли ссылка, т.е существует ли файл по ссылке?
Аватара пользователя
XXXler

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

Сообщение XXXler »

Цитата:



;Пытаемся проверить, закачался ли файл, но безуспешно Изображение If Not FileExists("c:\file.zip") Then MsgBox(0, "error", "The Download is fail")



у меня, как ни странно но работает (если не забвать после удачной скачки удалить файл)




Цитата:



;Пытаемся другим способом, но он действует только если в буффере обмена не была ссылка, т.е если в буффера было что-то такое
http://ссылка.zip
, то ничего не происходит, а если типа такого - ссылка, то выдаёт ошибку If $InetGet = 0 Then MsgBox(0, "error", "The Download is fail")



есть предположение, что если отсылать закачку в фон, тогда результата у функции не будет...



можно например сначала попытатся получить размер:



Код:

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

If InetGetSize($Clip)=0 Then 
 MsgBox(0, "error", "The Download is fail")
 Exit ; или Return для использования в функции
EndIf
Аватара пользователя
Creat0R

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

Сообщение Creat0R »

XXXler


Цитата:



есть предположение, что если отсылать закачку в фон, тогда результата у функции не будет...



Я пробвал ставить в дефолтное значение (вeзде ""), но таже история...




Цитата:



можно например сначала попытатся получить размер:



Не знаю почему, но в любом случае (если ссылка к примеру такая
http://ссылка.rar
), возвращается какое-то значение, а если ссылка не содержит расширения (.rar, .zip и т.д), то возвращается значение ноль и @error ровняется 1 - Но таким образом, не проверяется ссылка, т.к мне нужно именно проверка файла (.zip и .rar)...



Я пробовал так (без участия буффера обмена, думал в нём дело):





Код:

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

$Clip = "http://ссылка.zip"
    $InetGet = InetGet($Clip, "c:\file.zip", 1, 1)
 MsgBox(0, "error", $GetS)
     $GetS = InetGetSize($Clip)
 MsgBox(0, "error", $GetS)

В первом MsgBox, значение вывелось 1, во втором - 826



Когда я поменял немного ссылку (убрав расширение .zip):





Код:

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

$Clip = "http://ссылка"
    $InetGet = InetGet($Clip, "c:\file.zip", 1, 1)
 MsgBox(0, "error", $GetS)
     $GetS = InetGetSize($Clip)
 MsgBox(0, "error", $GetS)

То в обоих MsgBox'ах, вывелось значение 0... но если даже ссылка верна, то в первом меседже, также будет значение 1... т.е нет нормального способа, проверить существования файла по ссылке (или уровень ошибочности закачки файла).



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



Может всё же есть какой-то, пусть даже хитрый, но работающий способ?
Аватара пользователя
Dirk Diggler

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

Сообщение Dirk Diggler »

Цитата:



Как вариант 288 пост



Это Вы мне? А что там написано про COM? я не понял. Изображение
Ответить

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