PDA

Показать полную графическую версию : [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.


Страниц : 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

DENoszone
24-05-2008, 11:19
задача:
1.Открытие поисковика google.ru или ya.ru
2.В строку поиска берет первую строчку файла 123.txt (синтаксис файла: каждая строчка это новый запрос виида *.text.tx вместо text.tx может бытьчто угодно, вместо звездочки...ну так и вводите)
3. И дальше начинает переходить по всем ссылкам подряд до последний странице и на страницах ищет эту *.text.tx (asdqwe.text.tx qweqwe.text.ru)
4. записывает в файл построчно.
5. после всего все переводит в нижний регистр
6. проверяет на повторы.
7. вот и все.

кто сможет сделать?

Creat0R
24-05-2008, 16:27
DENoszone,
Хочу уточнить...

4. записывает в файл построчно. »
Записывает в файл что? результаты поиска, страницы на которых найдены запросы, или всё подряд, весь исходник запроса? :)

6. проверяет на повторы. »
Это лучше проверять в процессе записи (а точнее создания списка для записи).

DENoszone
25-05-2008, 09:57
Creat0R,
записывать все что вида *.text.tx

ну не знаю..думаю было бы проще..что бы не чего не сбивать..в конце после записи.

Creat0R
25-05-2008, 10:05
DENoszone,
записывать все что вида *.text.tx »
Не ясно! Вместо * может быть что угодно? или записывать строку в которой содержится это? подробнее...

DENoszone
26-05-2008, 09:58
я проверил можно без * просто .text.tx записывать надо все символы перед .text.tx к примеру qwe-qwe.text.tx или qwe_qwe.text.tx
все символы до первого пробела. может будет глюк какой то..то симоволов не больше 32..ограничение..

NikLok
26-05-2008, 18:49
Кто нибудь знает как определить цвет панели задач?

VovaVolk
26-05-2008, 22:43
ПрЮвет! Подскажите люди добрые как ввести имя и код активации если имею setup.exe /s

NikLok
26-05-2008, 23:37
В функции MsgBox есть необязательный параметр - время вывода.
Кто нибудь делал отображение обратного отсчета этого времени в самом MsgBox ?
То есть висит и тикает!

Creat0R
27-05-2008, 04:47
DENoszone,
Мне не удаётся пропарсить исходный код страницы при поиске на Google/yandex :(, там часто меняется запрос, я уже не говорю о поиске во всех результатах, это кстати может занять довольно много времени.

Creat0R
27-05-2008, 05:09
NikLok, как определить цвет панели задач?
У неё вроде цвет тот же что и у интерфейса других окон. А для получения системных цветов есть UDF:

Const $COLOR_SCROLLBAR = 0 ; - цвет полосы прокрутки
Const $COLOR_BACKGROUND = 1 ; - цвет фона окна
Const $COLOR_ACTIVECAPTION = 2 ; - цвет заголовка активного окна
Const $COLOR_INACTIVECAPTION = 3 ; - цвет заголовка неактивного окна
Const $COLOR_MENU = 4 ; - цвет меню
Const $COLOR_WINDOW = 5 ; - цвет окна
Const $COLOR_WINDOWFRAME = 6 ; - цвет обрамления окна
Const $COLOR_MENUTEXT = 7 ; - цвет текста меню
Const $COLOR_WINDOWTEXT = 8 ; - цвет текста окна
Const $COLOR_CAPTIONTEXT = 9 ; - цвет текста в заголовке окна

Const $COLOR_ACTIVEBORDER = 10 ; - цвет активной границы окна
Const $COLOR_INACTIVEBORDER = 11 ; - цвет неактивной границы окна
Const $COLOR_APPWORKSPACE = 12 ; - цвет рабочего места окна
Const $COLOR_HIGHLIGHT = 13 ; - цвет подсветки
Const $COLOR_HIGHLIGHTTEXT = 14 ; - цвет подсвеченного текста
Const $COLOR_BTNFACE = 15 ; - цвет лицевой части кнопки
Const $COLOR_BTNSHADOW = 16 ; - цвет тени кнопки
Const $COLOR_GRAYTEXT = 17 ; - цвет "серого" текста
Const $COLOR_BTNTEXT = 18 ; - цвет текста в кнопке
Const $COLOR_INACTIVECAPTIONTEXT = 19 ; - цвет текста в заголовке неактивного окна
Const $COLOR_BTNHIGHLIGHT = 20 ; - цвет текущей кнопки

$nColor = _GetSysColor($COLOR_WINDOW)

GUICreate("_GetSysColor", 200, 100)

GUICtrlCreateLabel($nColor, 20, 15)

GUICtrlCreateLabel(" ", 30, 40, 32, 32)
GUICtrlSetBkColor(-1, $nColor)

GUISetState()

While 1
Switch GUIGetMsg()
Case -3
ExitLoop
EndSwitch
WEnd

;~ Позволяет получать системные цвета, определённые текущими параметрами оформления
Func _GetSysColor($nIndex)
$BGRColor = DllCall("user32.dll", "long", "GetSysColor", "long", $nIndex)
$BGR = Hex ($BGRColor[0],6 )
$RGB = "0x" & StringRight($BGR,2) & StringMid($BGR,3,2) & StringLeft($BGR,2)
Return $RGB
EndFunc

Ну или можно через PixelGetColor...


$TaskBar_Hwnd = WinGetHandle("[CLASS:Shell_TrayWnd]")
$nColor = PixelGetColor(5, 5, $TaskBar_Hwnd)
$nColor = "0x" & Hex($nColor, 6)

В любом случае могут возникнуть проблемы при использовании разных тем оформления.

Creat0R
27-05-2008, 05:52
VovaVolk,
как ввести имя и код активации если имею setup.exe /s »
Только если при этом окна создаются (в скрытом состоянии), и то не точно.

NikLok
Кто нибудь делал отображение обратного отсчета этого времени в самом MsgBox ?
Я делал, и многие другие делали ;)

Прикрепил один продвинуты пример.
Это кстати моя попытка (удачная на мой взгляд) имитации оригинального MsgBox, но в этом случае я обхожу баг AutoIt'а, когда деактивируем все GUI-окна, при обратной активации родительское окно не отображается, только наш дочерний MsgBox. Этот баг проявляется тогда, когда родительское окно имеет подсказки (ToolTips), а дочернее нет.

P.S
Этот немаленький UDF поддерживает все те же константы/функции что и обычны UDF, приимущества думаю упоминать не нужно ;)

NikLok
27-05-2008, 11:13
Creat0R, Я делал, и многие другие делали »
Как хорошо что велосипед уже есть!

NikLok
27-05-2008, 11:32
Creat0R, $nColor = PixelGetColor(5, 5, $TaskBar_Hwnd) »
Не хочет принимать 3-й параметр!!! Что у них ошибка что ли? 3.2.10 и 3.2.12

1-метод с моей темой VistXP дал один и тот же цвет для таск бара на двух машинах с реально разными темами и цветами панели задач!

Creat0R
27-05-2008, 15:19
NikLok, Не хочет принимать 3-й параметр! »
В 3.2.10.0 этого параметра ещё не было, его добавили и 3.2.12.0.

1-метод с моей темой VistXP дал один и тот же цвет для таск бара на двух машинах с реально разными темами и цветами панели задач! »
Я ж писал:

В любом случае могут возникнуть проблемы при использовании разных тем оформления. »

Идеальных методов мне не известно :(

NikLok
27-05-2008, 18:44
Creat0R, В 3.2.10.0 этого параметра ещё не было, его добавили и 3.2.12.0. »
твоя правда! В версиях запутался!

К сожалению второй метод тоже не годится! У меня убирающийся таск бар!

Еще минуточку. Вот пытаюсь сделать активным окно fIREfOX с помощью рег. выражений
WinWait("[REGEXPTITLE:.*Mozilla Firefox.*]","")
If Not WinActive("[REGEXPTITLE:.*Mozilla Firefox.*]","") Then WinActivate("[REGEXPTITLE:.*Mozilla Firefox.*]","")
WinWaitActive("Mozilla Firefox","")

Почемуто виснет прямо на первой иснтрукции! Браузер запущен, в заголовке есть искомая строка! В чем дело?

Creat0R
27-05-2008, 19:07
NikLok, В чем дело? »
Возможно в том что после «Mozilla Firefox» нет ничего, поэтому там не нужно .*, это можно заменить на символ конца строки ($), хотя у меня останавливается на третьей строке, а вообще лучше по классу искать:


WinWait("[CLASS:MozillaUIWindowClass]")
If Not WinActive("[CLASS:MozillaUIWindowClass]") Then WinActivate("[CLASS:MozillaUIWindowClass]")
WinWaitActive("[CLASS:MozillaUIWindowClass]")

NikLok
28-05-2008, 10:24
Creat0R, WinWait("[CLASS:MozillaUIWindowClass]") If Not WinActive("[CLASS:MozillaUIWindowClass]") Then WinActivate("[CLASS:MozillaUIWindowClass]") WinWaitActive("[CLASS:MozillaUIWindowClass]") »
Что у меня как у чукчи ничего не получается! Стрянет прямона первой команде.
А гле ты посмотрел это название класса - MozillaUIWindowClass ? Просто надо же знать как этот класс будет называться у другого приложения!

Creat0R
28-05-2008, 12:24
NikLok, гле ты посмотрел это название класса »
В папке с AutoIt есть инструмент Au3Info.exe (AutoIt Window Info Tool (http://www.autoitscript.com/autoit3/docs/intro/au3spy.htm)).

VovaVolk
28-05-2008, 17:34
VovaVolk,
Цитата VovaVolk:
как ввести имя и код активации если имею setup.exe /s »
Только если при этом окна создаются (в скрытом состоянии), и то не точно. »

Я пытаюсь сделаь тихую установку OziExplorer. При помощи setup.exe /r, получил получил setup.iss и по команде setup.exe /s проходит тихая установка, вот только потом надо вводить имя и пароль. Вот как бы их сразу воткнуть?

DENoszone
29-05-2008, 12:21
Creat0R
а можно я пишу сайт...а скрипт парсит его с верху до низу




© OSzone.net 2001-2012