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

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

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

(*.*)


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


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

Профиль | Сайт | Отправить 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

 

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

Ветеран


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

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


amel27,
Цитата amel27:
Вообще, случай с этим HH забавный »
Хмм.. интересная информация, как я понял функция HtmlHelp вызывается отдельным потоком и вероятно это вызывает ошибку? Может в будущих версиях AutoIt-а эта функция будет работать нормально...

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


Отправлено: 17:36, 05-04-2008 | #391



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

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


Аватара для Котяра

Ветеран


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

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


Maza Faka, а как после этого запустить fontinst.exe? Добавить в конец батника
fontinst.exe /f fontinst.inf
?

Проблема решилась созданием файла clickme.bat
Код: Выделить весь код
call fontinst.cmd
fontinst.exe /f fontinst.inf

Отправлено: 19:08, 05-04-2008 | #392


Пользователь


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

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


помогите скрипт перестал вставлять title . и пустое окно делает.
PHP код: Выделить весь код

#include <IE.au3>                While 1      $oIE = _IECreate ("http://www.yandex.ru/yandsearch?random=071215722&stype=www&randomtext=1&lr=187", 0, 1, 0)      WinWait("[Class:IEFrame]")  WinSetState("[Class:IEFrame]", "", @SW_MAXIMIZE)      _IELoadWait ($oIE)      Send("{F5}")        $oIE_2 = _IECreate ("http://nigma.ru")       WinWait("[Class:IEFrame]")        WinSetState("[Class:IEFrame]", "", @SW_MAXIMIZE)        _IELoadWait ($oIE_2)      $oForm = _IEFormGetObjByName ($oIE_2, 0)      $oQuery = _IEFormElementGetObjByName ($oForm, 0)        $sTitle = StringReplace(_IEPropertyGet($oIE,"title"), "Яндекс:", "")      $sTitle = StringStripWS($sTitle, 3)              _IEFormElementSetValue ($oQuery, $sTitle)      _IEFormSubmit ($oForm)      Sleep(5000)  MouseClick("left", 69, 293, 1, 1)   Sleep(2000)  MouseClick("left", 394, 329, 1, 1)   Sleep(2000)  MouseClick("left", 379, 355, 1, 1)   Sleep(5000)    Do      WinClose("[Class:IEFrame]")  Until Not WinExists("[Class:IEFrame]")      ;~ RunWait(@ComSpec & " /c " & 'taskkill /im iexplore.exe /f', "", @SW_HIDE)        Sleep(1000)  WEnd 



Последний раз редактировалось DENoszone, 06-04-2008 в 10:08.


Отправлено: 23:19, 05-04-2008 | #393


Googler


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

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


DENoszone
Цитата:
скрипт перестал вставлять title »
не улавливаю смысл скрипта, но титул окна можно менять и без _IE-функций:
Код: Выделить весь код
#include <IE.au3>

$oIE = _IECreate ("http://www.yandex.ru/yandsearch?random=071215722&stype=www&randomtext=1&lr=187", 0, 1, 0, 0)
WinSetState("", "", @SW_MAXIMIZE)

_IELoadWait($oIE)
$sTitleOld = _IEPropertyGet($oIE, "title")
$sTitleNew = StringStripWS(StringReplace($sTitleOld,"Яндекс:", ""), 3)
WinSetTitle($sTitleOld, "", $sTitleNew)

Отправлено: 11:28, 06-04-2008 | #394


Пользователь


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

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


берет тайтл с яндекса и вставляет в поиск нигмы

Отправлено: 11:32, 06-04-2008 | #395


Googler


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

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


Цитата DENoszone:
берет тайтл с яндекса и вставляет в поиск нигмы »
как вариант:
Код: Выделить весь код
#include <IE.au3>

$oIE = _IECreate("http://www.yandex.ru/yandsearch?random=071215722&stype=www&randomtext=1&lr=187", 0, 0, 0)
_IENavigate ($oIE, "http://www.yandex.ru/yandsearch?random=071215722&stype=www&randomtext=1&lr=187")

$sTitle = _IEPropertyGet($oIE, "title")
$sTextFind = StringStripWS(StringReplace(_IEPropertyGet($oIE, "title"),"Яндекс:", ""), 3)

$oIE = _IECreate("http://nigma.ru", 0, 1, 0, 0)
WinSetState("", "", @SW_MAXIMIZE)
_IELoadWait($oIE)

$oForm = _IEFormGetCollection($oIE, 0)
$oElement = _IEFormElementGetObjByName($oForm, "s")
_IEFormElementSetValue($oElement, $sTextFind)
_IEFormSubmit($oForm)
тот же вариант, оптимизированный по скорости загрузки:
Код: Выделить весь код
#include <IE.au3>

_IEErrorHandlerRegister ("MyErrFunc")

$oIE = _IECreate("http://www.yandex.ru/yandsearch?random=071215722&stype=www&randomtext=1&lr=187", 0, 0, 0)
_IENavigate ($oIE, "http://www.yandex.ru/yandsearch?random=071215722&stype=www&randomtext=1&lr=187", 0)
Do
    Sleep(100)
    $iError = 0
    $sTitle = _IEPropertyGet($oIE, "title")
Until $iError=0

$sTextFind = StringStripWS(StringReplace(_IEPropertyGet($oIE, "title"),"Яндекс:", ""), 3)
$oIE = _IECreate("http://nigma.ru", 0, 1, 0, 0)
WinSetState("", "", @SW_MAXIMIZE)
Do
    Sleep(100)
    $oForm = _IEFormGetCollection($oIE, 0)
Until @error=0
Do
    Sleep(100)
    $oElement = _IEFormElementGetObjByName($oForm, "s")
Until @error=0

_IEFormElementSetValue($oElement, $sTextFind)
_IEFormSubmit($oForm)

Func MyErrFunc()
    $iError = $oIEErrorHandler.number
EndFunc

Отправлено: 15:50, 06-04-2008 | #396


Пользователь


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

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


эээ не пашет

Отправлено: 18:47, 06-04-2008 | #397


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


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

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


Подскажите,пожалуйста,как средствами AutoIT можно узнать количество байт,принятых через Dial-Up соединение?

Отправлено: 21:10, 06-04-2008 | #398


Аватара для Creat0R

Must AutoIt


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

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


Нужна помошь по ускорению работы функции:

Код: Выделить весь код
Func __UTF8ToUnicode($Utf8String)
    Local $BufferSize = StringLen($Utf8String) * 2
    Local $Buffer = DllStructCreate("byte[" & $BufferSize & "]")

    DllCall("Kernel32.dll", "int", "MultiByteToWideChar", _
        "int", 65001, _
        "int", 0, _
        "str", $Utf8String, _
        "int", StringLen($Utf8String), _
        "ptr", DllStructGetPtr($Buffer), _
        "int", $BufferSize)

    Local $UnicodeBinary = DllStructGetData($Buffer, 1)
    Local $UnicodeHex1 = StringReplace($UnicodeBinary, "0x", "")
    Local $StrLen = StringLen($UnicodeHex1)
    Local $UnicodeString, $UnicodeHex2, $UnicodeHex3

    For $i = 1 To $StrLen Step 4
        $UnicodeHex2 = StringMid($UnicodeHex1, $i, 4)

        If $UnicodeHex2 = "0000" Then ContinueLoop

        $UnicodeHex3 = StringRegExpReplace($UnicodeHex2, "(..).(.)", "\2\1")
        $UnicodeString &= ChrW(Dec($UnicodeHex3))
    Next

    $Buffer = 0

    Return $UnicodeString
EndFunc
С большими блоками текста довольно медленно отрабатывает, всё дело в цикле, я уже пробовал разные комбинации вместо String*, но ничего значительно не ускорялось.. Или быть можеть есть другой вариант преобразовать UTF-8 в юникод? (UTF-16?)

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

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

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

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:54, 07-04-2008 | #399


Аватара для Creat0R

Must AutoIt


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

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


“Век живи, век учись! © ”

Оказывается, любая обработка строк (функции String*) будет в несколько раз замедлена если вы используете «Opt("ExpandEnvStrings", 1)» или «Opt("ExpandVarStrings", 1)» .

Я в скрипте как раз использую Opt("ExpandEnvStrings", 1), поэтому обработка была медленнее, проверял же в другом скрипте, который создаётся и запускается из этого родительского скрипта.

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

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

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

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

Отправлено: 04:16, 07-04-2008 | #400



Компьютерный форум 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




 
Переход