Недавние сообщения

Страницы: 1 ... 8 9 [10]
91
Общие вопросы по AutoIt / Re: Помогите с DllStructGetData()
« Последний ответ от Атос Отправлен Июнь 15, 2018, 19:51:52 »
InnI, а как получить аргумент?

Код: AutoIt [Выделить]
Local $stINFO,$stVerb,$stPath,$stArgs,$stWDir,$aRet, $hWnd = 0, $iState = @SW_SHOWNORMAL
$stVerb = DllStructCreate("wchar[255]")
$stPath = DllStructCreate("wchar[" & (StringLen("notepad.exe")+1)& "]")
$stArgs = DllStructCreate("wchar[255)]")
$stWDir = DllStructCreate("wchar[255]")
DllStructSetData($stVerb, 1, "open")
DllStructSetData($stPath, 1, "notepad.exe")
DllStructSetData($stArgs, 1, "C:\Temp\4.txt")
DllStructSetData($stWDir, 1, "C:\Temp")
Local $stINFO = DllStructCreate("ulong;ulong;long;ptr;ptr;ptr;ptr;long;long;ptr;ptr;long;ulong;long;long")
DllStructSetData($stINFO, 1, DllStructGetSize($stINFO))
DllStructSetData($stINFO, 2, BitOR(0x40,0x400))
DllStructSetData($stINFO, 3, $hWnd) ; Is this supposed to *receive* instead of send? I have yet to get clarity on this.
DllStructSetData($stINFO, 4, DllStructGetPtr($stVerb))  ; lpVerb: pointer to the verb string
DllStructSetData($stINFO, 5, DllStructGetPtr($stPath))  ; lpFile: pointer to the $cmd string
DllStructSetData($stINFO, 6, DllStructGetPtr($stArgs))  ; lpParameters: pointer to the parameters/arguments string
DllStructSetData($stINFO, 7, DllStructGetPtr($stWDir))  ; lpDirectory: pointer to working directory string
DllStructSetData($stINFO, 8, $iState)
MsgBox(0,0,DllStructGetData($stINFO,6))
 

92
Автоматизация IE и Web-интерфейса / Re: Клик по ссылке
« Последний ответ от InnI Отправлен Июнь 15, 2018, 19:45:03 »
Grizli  [?]
Цитировать
не получается кликнуть по ссылке
Я сохранил ваш span в html-файл и ни один из трёх известных браузеров не обрабатывает его, как ссылку.

Цитировать
данных как будто нет, так и висят предупреждения "обязательно к заполнению"
Насколько я понимаю в html, чтобы убрать предупреждение нужно обработать событие. Вероятно, данный input не обрабатывает событие onchange, а реагирует на onkeypress или что-то подобное. Попробуйте отправить данные формы (нажать кнопку) с заполненными полями, игнорируя предупреждения. Если страница не использует скрипт для чтения input'ов, то данные будут переданы независимо от предупреждений.

А чтобы не гадать, лучше предоставить ссылку на страницу и описать, что нужно заполнить и куда нужно кликнуть ;)
93
Стол заказов / Re: Сложности с множеством заголовков если WinTitleMatchMode=2
« Последний ответ от Tempo Отправлен Июнь 15, 2018, 19:18:45 »
dr.room, указать класс окна Заголовки и текст окон (расширенные)
94
Стол заказов / Сложности с множеством заголовков если WinTitleMatchMode=2
« Последний ответ от dr.room Отправлен Июнь 15, 2018, 18:57:55 »
Версия AutoIt: 3.
 AutoIt Version: 3.3.14.3
Описание:
Всем привет !
Такая ситуация. если прописать  WinTitleMatchMode = 2 в скрипте, то распознавание заголовком окон будет не точным, а при любом совпадении. Так и нужно
Но возникает проблема, когда нужно активировать браузер  Google Chrome  и, при этом, в заголовке документа txt также есть Google Chrome

Возможно есть способ активировать именно браузер  Google Chrome ?
Если нет - то можно ли распознать что есть несколько заголовков со сходным содержимым и  предупредить через MsgBox ?

Примечания:
Спасибо заранее
95
Автоматизация IE и Web-интерфейса / Клик по ссылке
« Последний ответ от Grizli Отправлен Июнь 15, 2018, 18:30:20 »
Здравствуйте уважаемые. Никак не получается кликнуть по ссылке
<span class="pull-right" _ngcontent-mnv-51="">
        <a class="btn btn-primary btn-sm" data-toggle="modal" data-target="#assignment-person-modal" _ngcontent-mnv-51="">
          <i class="fa fa-plus-square fa-lg fa-fw" aria-hidden="true" _ngcontent-mnv-51=""></i> Добавить</a>
      </span>
И второй вопрос- заполняю форму на сайте. визуально input формы заполнены, но данных как будто нет, так и висят предупреждения "обязательно к заполнению"
Код: AutoIt [Выделить]
$oInputs = _IETagNameGetCollection($oIE, 'input')
For $Input In $oInputs
    If $Input.classname == "form-control ng-untouched ng-pristine ng-valid" Then
            $oClear = $Input
        ExitLoop
    EndIf
Next

If IsObj($oClear) Then
    ;Делаем с объектом что угодно, например вписываем значение
    $oClear.value = $oExcel.Activesheet.Cells($stroka_snils, $kolonka_snils).Value
;~    ConsoleWrite( $oExcel.Activesheet.Cells($stroka_snils, $kolonka_snils).Value & @LF)

Else
    ConsoleWrite("! Не найдено" & @LF)
 EndIf

96
Общие вопросы по AutoIt / Re: Помогите с DllStructGetData()
« Последний ответ от InnI Отправлен Июнь 15, 2018, 16:57:48 »
sh01u
Если вы хотите получить строку по указателю, то нужно, сначала, создать структуру по этому указателю, а затем, прочитать данные из структуры
Код: AutoIt [Выделить]
$tStr = DllStructCreate("wchar[255]",DllStructGetData($stINFO,7))
MsgBox(0,0,DllStructGetData($tStr,1))

Но в контексте вашего примера это не имеет смысла, т.к. функция ShellExecuteEx не возвращает значение в $stWDir, а получает его из этого поля структуры и передаёт запущенной программе.
97
Общие вопросы по AutoIt / Re: Помогите с DllStructGetData()
« Последний ответ от sh01u Отправлен Июнь 15, 2018, 16:24:49 »
sh01u  [?]
Цитировать
возвращаемое значения это hex
Это в вашем варианте hex ($stINFO,7), а в моём - строка ($stWDir,1).

Ой извините за не внимательность и спасибо
98
Общие вопросы по AutoIt / Re: Помогите с DllStructGetData()
« Последний ответ от InnI Отправлен Июнь 15, 2018, 16:18:04 »
sh01u  [?]
Цитировать
возвращаемое значения это hex
Это в вашем варианте hex ($stINFO,7), а в моём - строка ($stWDir,1).
99
Общие вопросы по AutoIt / Re: Помогите с DllStructGetData()
« Последний ответ от sh01u Отправлен Июнь 15, 2018, 16:14:27 »
sh01u  [?]
Цитировать
в autoit я не бум - бум
Печально :(

Цитировать
как получить lpDirectory в строковом виде
Код: AutoIt [Выделить]
MsgBox(0,0,DllStructGetData($stWDir,1))


НО! Прежде, чем получить, его нужно задать ;)
Например, так
Код: AutoIt [Выделить]

Это я понимаю, только возвращаемое значения это hex допустим 0x007ACCE8, а мне нужна строка "С:\Users\User\Desktop", наверно надо изменить саму структуру, не ptr, а str?
100
Общие вопросы по AutoIt / Re: Помогите с DllStructGetData()
« Последний ответ от InnI Отправлен Июнь 15, 2018, 16:03:16 »
sh01u  [?]
Цитировать
в autoit я не бум - бум
Печально :(

Цитировать
как получить lpDirectory в строковом виде
Код: AutoIt [Выделить]
MsgBox(0,0,DllStructGetData($stWDir,1))


НО! Прежде, чем получить, его нужно задать ;)
Например, так
Код: AutoIt [Выделить]
Страницы: 1 ... 8 9 [10]