Ru-Board.club
← Вернуться в раздел «Программы»

» AutoIT

Автор: Baloven1
Дата сообщения: 28.10.2007 17:29
народ, вот проблемка, тербуется зайти на сайт введя свои учетные данные, все бы ничего но вот проблема в том что поля имени и логина находятся в форме не имеющей имени , этот же вопрос задал на сайте проекте AI но у меня и с англицким плохо и по мойму они меня не понимают
помогите кто чем может... описание проблемы на их форуме здесь если кому не понятно могу расписать подробнее на этом форуме...

ок вот суть проблемы:
форма №1 в теле страницы http://www.vgtrk.com/program/login.html она меня не интересует - это поле поиска по сайту


Код: ...
<form method=GET action=/search.html>
<td width=100%><img src="/i/b.gif" width="1" height="16" alt="" border="0"><br>&nbsp;<input type=text style="font-size: 9pt; fontsize: 8pt;" name=q size=12>&nbsp;<input type="submit" style="border-style: none; border: none; background-color: #ffffff; bgcolor: #ffffff; font-size: 9pt; fontsize: 8pt;" value="Искать"><br><img src="/i/b.gif" width="1" height="3" alt="" border="0"><br></td>
</td></form>
....
Автор: euheny
Дата сообщения: 30.10.2007 08:47
ViSiToR



хотел бы знать что это(из WinGetTitleEx.au3):

Код: [no] $sHold &= $aWList[$iCC][0] & Chr(1)
EndIf
Next
If $sHold Then Return StringSplit(StringTrimRight($sHold, 1), Chr(1))
Return SetError(1, 0, 0)[/no]
Автор: ViSiToR
Дата сообщения: 30.10.2007 09:26
euheny

Цитата:
хотел бы знать что это

Конкретнее, что непонятно?


Цитата:
интересно откуда получена _PathIsProcess ?

Сам писал


Цитата:
пробовал ли ты писать что-нибудб для кэша Оперы ?

В Opera AC в последней тестовой сборке реализована возможность сортировки кеша.


Цитата:
есть ли что-нибудб для управления файлом подкачки ?

Я не встречал, не нужно было оно мне до сих пор (кроме как получение его размера и использование в памяти ).
Автор: Smitis
Дата сообщения: 30.10.2007 12:30
euheny

Цитата:
есть ли что-нибудб для управления файлом подкачки

pagefileconfig.vbs
Либо запускай его из autoit, либо используй как пример (там используется WMI)
Автор: NIKZZZZ
Дата сообщения: 30.10.2007 12:55
ViSiToR
По поводу FileFindNextFile() - ее аналог для поиска по подкаталогам.

Код: Global $Stack[50]
Global $Stack1[50]

$Text = ""
FileFindNextFirst("c:\windows")
While 1
$tempname = FileFindNext()
If $tempname = "" Then ExitLoop
$Text &= $tempname & @CRLF
WEnd

MsgBox(4096, '', $Text)

Func FileFindNextFirst($FindCat)
$Stack[0] = 1
$Stack1[1] = $FindCat
$Stack[$Stack[0]] = FileFindFirstFile($Stack1[$Stack[0]] & "\*.*")
Return $Stack[$Stack[0]]
EndFunc ;==>FileFindNextFirst

Func FileFindNext()
While 1
$file = FileFindNextFile($Stack[$Stack[0]])
If @error Then
FileClose($Stack[$Stack[0]])
If $Stack[0] = 1 Then
Return ""
Else
$Stack[0] -= 1
ContinueLoop
EndIf
Else
If StringInStr(FileGetAttrib($Stack1[$Stack[0]] & "\" & $file), "D") > 0 Then
$Stack[0] += 1
$Stack1[$Stack[0]] = $Stack1[$Stack[0] - 1] & "\" & $file
$Stack[$Stack[0]] = FileFindFirstFile($Stack1[$Stack[0]] & "\*.*")
ContinueLoop
Else
Return $Stack1[$Stack[0]] & "\" & $file
EndIf
EndIf
WEnd
EndFunc ;==>FileFindNext
Автор: Kauffman
Дата сообщения: 30.10.2007 14:19
Помогите сделать так, чтобы событие при клике по Pic или Label происходило только после отпускания кнопки мыши.
Автор: Maza Faka
Дата сообщения: 30.10.2007 14:47
Kauffman
Можно так:

Код:
#include <GUIConstants.au3>

GUICreate("Test", 200, 100)
$label = GUICtrlCreateLabel("Test label", 50, 20, 70, 20, BitOR($SS_SUNKEN, $SS_CENTER))

GUISetState()

While 1
$msg = GUIGetMsg()

Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop

Case $msg = $label
While $msg <> $GUI_EVENT_PRIMARYUP
$msg = GUIGetMsg()
Sleep(30)
WEnd

MsgBox(0, "Event", "You pressed a label")
EndSelect
WEnd
Автор: Kauffman
Дата сообщения: 30.10.2007 15:14
Great, thanks!
Автор: ViSiToR
Дата сообщения: 30.10.2007 17:02
NIKZZZZ

Цитата:
ее аналог для поиска по подкаталогам

Отлично, осталось только организовать её так, чтобы не было Global'ов .

Kauffman

Цитата:
сделать так, чтобы событие при клике по Pic или Label происходило только после отпускания кнопки мыши

Знаю что решение дано, но хочу предложить альтернативу, имхо, если потребуется более чем один контрол вот так проверять, использовать общую функцию намного удобнее:


Код: #include <GuiConstants.au3>

Global $Web_Hovered_Mark = 1
Global $Email_Hovered_Mark = 1

$Gui = GuiCreate("Usage of <Link in GUI> Demo", 200, 120)

$Web_Page_Label = GUICtrlCreateLabel("Web Page", 10, 40)
GUICtrlSetCursor(-1, 0)
$Email_Label = GUICtrlCreateLabel("Email", 10, 70)
GUICtrlSetCursor(-1, 0)

GUISetState()

While 1
Switch GUIGetMsg()
Case -3
Exit
Case
$Web_Page_Label
ClickHandlerProc($Web_Page_Label, "http://autoitscript.com", $Gui)
Case $Email_Label
ClickHandlerProc($Email_Label, "mailto:somemail@gmail.com", $Gui)
EndSwitch

;Тут проверяем курсор мышки над элементами (для подсветки)
HoverLabelProc($Web_Hovered_Mark, $Web_Page_Label, "SetColorProc", 0x0000FF, 0x0, $Gui)
HoverLabelProc($Email_Hovered_Mark, $Email_Label, "SetColorProc", 0x0000FF, 0x0, $Gui)
WEnd

Func
ClickHandlerProc($CtrlID, $URL, $hWnd)
Local $GetCurInfo = GUIGetCursorInfo($hWnd)
While $GetCurInfo[2] = 1
$GetCurInfo = GUIGetCursorInfo($hWnd)
Sleep(10)
WEnd
If
$GetCurInfo[4] = $CtrlID Then ShellExecute($URL)
EndFunc

Func
HoverLabelProc(ByRef $HoverMark, $CtrlID, $CallFuncProc='', $Param_1='', $Param_2='', $hWnd=0)
Local $GetCurInfo = GUIGetCursorInfo($hWnd)
If Not IsArray($GetCurInfo) Then Return

If
$HoverMark = 1 And $GetCurInfo[4] = $CtrlID Then
Call($CallFuncProc, $CtrlID, $Param_1)
$HoverMark = 0
ElseIf $HoverMark = 0 And $GetCurInfo[4] <> $CtrlID Then
Call($CallFuncProc, $CtrlID, $Param_2)
$HoverMark = 1
EndIf
EndFunc

Func
SetColorProc($CtrlID, $Color)
GUICtrlSetColor($CtrlID, $Color)
EndFunc
Автор: magnetics
Дата сообщения: 30.10.2007 23:04
Подскажите пожалуйста.
Имеются прикладные программы в которых часть команд имеет предопределенные горячие клавиши, а часть ни имеет.
Вот хотелось бы узнать можно ли с помощью скриптов повесить на эти команды свои горячие клавиши. Команды вызываются как из меню так и нажатием мышкой на экранные кнопки.
Автор: ViSiToR
Дата сообщения: 31.10.2007 00:58
magnetics

Цитата:
так и нажатием мышкой на экранные кнопки

Можно повесить горячие (глобальные) клавиши для нажатия кнопок:


Код: HotKeySet("^+g", "ClickButton")

$AppTitle = "Title"

While 1
Sleep(100)
WEnd

Func
ClickButton()
ControlClick($AppTitle, "", "Button1")
EndFunc
Автор: gmbh2
Дата сообщения: 31.10.2007 01:10
Можно ли спомощью autoit устанавливать, удалять и проверять наличие сервисов windows?
Автор: euheny
Дата сообщения: 31.10.2007 01:13
ViSiToR

Цитата:
Конкретнее, что непонятно?

непонятно что делает первая стока, а остальное зависит от твоего ответа

Цитата:
Сам писал

так ты спец по WMI ?

ViSiToR
Smitis
собственно нужна :

CreatePageFile(name, startsize, maxsize)

но если есть возможность предпочёл бы не прибегать к услугам WMI
Автор: ViSiToR
Дата сообщения: 31.10.2007 01:29
euheny

Цитата:
что делает первая стока

Переменной $sHold присваиваются значения всех PID'ов связанных с указанным процессом (если конечно как второй параметр этой функции не было передано 1, в таком случае возвращается первый найденный PID).


Цитата:
так ты спец по WMI ?

Далеко не спец, знаю кое что по мелочам, собирал функцию на основе примеров настощих спецов по WMI


Цитата:
CreatePageFile(name, startsize, maxsize)

Через реестр не пробовал?

Добавлено:
А вот и WMI метод:


Код:
Func SetPageFile($sFile, $sInitialSize, $sMaximumSize)
Local $strComputer = "localhost"
Local $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
Local $colPageFiles = $objWMIService.ExecQuery('Select * from Win32_PageFileSetting Where Name = "' & $sFile & '"')

For $objPageFile In $colPageFiles
$objPageFile
.InitialSize = $sInitialSize
$objPageFile
.MaximumSize = $sMaximumSize
$objPageFile
.Put_()
Next
EndFunc
Автор: Kauffman
Дата сообщения: 31.10.2007 15:22
Дайте кто-нибудь пример использования ToolBar32 в стиле XP!


Добавлено:
Я имею виду с использованием Win32 API
Автор: RiNeo
Дата сообщения: 02.11.2007 08:20
Не могу найти AutoIt3Wrapper... на оф. сайте ни намека на ссылку для скачки...кто-нить поделится?
Автор: ViSiToR
Дата сообщения: 02.11.2007 09:20
RiNeo

Цитата:
Не могу найти AutoIt3Wrapper

Он идёт в поставке со SciTE, хотя отдельно все утилиты (в том числе и AutoIt3Wrapper) есть тут.
Автор: euheny
Дата сообщения: 05.11.2007 23:28
ViSiToR

Цитата:
реализована возможность сортировки кеша.

т.е. есть метод обработки dcache4 ?

Цитата:
Переменной $sHold...

видимо меня запутал Chr(1)

Цитата:
Через реестр не пробовал?

нужно без ребута

Цитата:
А вот и WMI метод:

ты сам это делаеш ?
у тебя работает ? - приведи рабочий пример

как определить окно-потомок ?

есть ли раскрытый список Справочник по командам rundll32 ?
Автор: ViSiToR
Дата сообщения: 06.11.2007 00:44
euheny

Цитата:
т.е. есть метод обработки dcache4 ?

Нет, обработка самих файлов в папке Cache4.


Цитата:
ты сам это делаеш ?

Функцию сам собрал, инфу с оф. форума нашёл.


Цитата:
у тебя работает ?

Да, попробуй заменить localhost на @ComputerName.
Хотя вроде и тут ребут нужен.


Цитата:
как определить окно-потомок ?

С какой целью?


Цитата:
есть ли раскрытый список Справочник по командам rundll32 ?

Что значит раскрытый?
Если я правильно понял, то вот тут есть подобный список.
Автор: euheny
Дата сообщения: 06.11.2007 06:50
ViSiToR

Цитата:
Нет, обработка самих файлов в папке Cache4.

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

Цитата:
Да, попробуй заменить localhost на @ComputerName.

вроде нет разницы - а как у тебя вызов функции происходит ?

Цитата:
С какой целью?

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

Цитата:
Если я правильно понял

конечно правильно
более удобный вариант - согласись
Автор: ViSiToR
Дата сообщения: 06.11.2007 07:47
euheny

Цитата:
ну а за dcache4 никто не пробовал взятся ?

Я лично нет, и не вижу для этого особых причин.


Цитата:
как у тебя вызов функции происходит ?

Обычно:


Код: SetPageFile("c:\pagefile.sys", 750, 1500)
Автор: RiNeo
Дата сообщения: 08.11.2007 07:38
Подскажите пожалуйста, где мне копать, чтобы выводить таблицы....
Автор: Kauffman
Дата сообщения: 08.11.2007 11:24
Скачал Auto3Lib и у меня возникло пару вопросов:
1) Как в Toolbar добавить иконки с прозрачностью, а то получается черный фон. Хотя бы прозрачность в "1 цвет".
2) Как в Auto3Lib'бовский Tab контролы пихать(как в обычный не получается).
Заранее спасибо.

Добавлено:
Кто-нибудь помогите!
Автор: ViSiToR
Дата сообщения: 08.11.2007 18:04
RiNeo

Цитата:
где мне копать, чтобы выводить таблицы

Какие таблицы?

Kauffman

Цитата:
Как в Toolbar добавить иконки с прозрачностью, а то получается черный фон

Покажи пример как делаешь.
(а также какой формат иконок используется?).


Цитата:
Как в Auto3Lib'бовский Tab контролы пихать(как в обычный не получается)

А чем обычный не подходит?
Автор: RiNeo
Дата сообщения: 09.11.2007 07:00
Я хочу написать интерфейс к базе данных, чтоб он выводил таблицы, конечно можно сделать это и с помщью html + JavaScript + php, но мне стало интересно, возможно ли это сделать с помощью AutoIt3?
Автор: euheny
Дата сообщения: 09.11.2007 07:05
ViSiToR

Цитата:
Я лично нет, и не вижу для этого особых причин.

это могло бы быть полезно для выборочной чистки кэша

Цитата:
При использовании API теже проблемы,

так получается тебе не приходилось сталкиватся с определением окон потомков ?

Цитата:
По поводу функции для Pagefile

честно говоря не работает
работает только VBS , перезагрузка в этом случае на самом деле не нужна
видимо проще будет воспользоваться автоматизацией
Автор: Kauffman
Дата сообщения: 09.11.2007 13:57
ViSiToR

Цитата:
А чем обычный не подходит?

Потому что можно использовать только один на форму.

Цитата:
Покажи пример как делаешь.
(а также какой формат иконок используется?).


Код: _Toolbar_SetBitmapSize($Toolbar, 16, 16)
$ImageList = _ImageList_Create(16, 16)
_ImageList_AddIcon($ImageList, "C:\icon.ico")
_Toolbar_SetImageList($Toolbar, $ImageList)
Автор: ViSiToR
Дата сообщения: 09.11.2007 16:01
euheny

Цитата:
получается тебе не приходилось сталкиватся с определением окон потомков ?

Не приходилось.


Цитата:
работает только VBS

Какого состава? если vbs работает, значит и AutoIt заставим работать (так или иначе).

Kauffman

Цитата:
Потому что можно использовать только один на форму

Кажется я не понял о чём речь... если об обычных табах (Вкладка), то можно создавать до 4096 (включая остальные элементы) - GuiCtrlCreateTab создаёт оболочку, далее идут GuiCtrlCreateTabItem().


Цитата:
_Toolbar_SetBitmapSize($Toolbar, 16, 16)
...


А где $Toolbar? что такое Toolbar в этом случае?

Ты пробовал Png формат?
Автор: euheny
Дата сообщения: 10.11.2007 07:34
ViSiToR

Цитата:
Какого состава?

сначала удалил существующий + ребут
и

Код: [no]cscript.exe pagefileconfig.vbs /Create /I 32 /M 512 /VO C:[/no]
Автор: Kauffman
Дата сообщения: 10.11.2007 14:18
ViSiToR
$Toolbar - хэндл тулбара
PNG и GIF не поддерживаютя (выдает ошибку), а BMP ICO ICL работают, но не работает прозрачность (вместо нее черный фон!).
А насчет Табов: в англ. справке написано, что можно исп. только одну "оболочку" на форме, а вкладок скок хош.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192

Предыдущая тема: Quintura Search


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.