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

Страницы: [1] 2 3 ... 10
1
Общие вопросы по AutoIt / Re: Как в autoIT изменить размер браузера мазила?
« Последний ответ от Tempo Отправлен Сегодня в 19:19:06 »
sergeinovilozf
WinMove
2
Общие вопросы по AutoIt / Как в autoIT изменить размер браузера мазила?
« Последний ответ от sergeinovilozf Отправлен Сегодня в 19:12:04 »
Здравствуйте.

Как сделать 800х600 браузер мазилу через код?
3
SuperSonic  [?]
Цитировать
У меня такое окно не появляется
Если запустить Inspect или скрипт с правами администратора, то появляется на кнопках панели и в статус-баре.
А если без прав администратора, то все элементы определяются, как панели и, естественно, не работают должным образом.
4
Цитировать
Об этом говорит появление окон "Invalid variant operation" при работе Inspect с этим приложением.
У меня такое окно не появляется  :blink:

Ну по крайней мере на Win 7 Inspect прекрасно "видит" эту софтину


Добавлено: Сегодня в 18:30:26
:o только сказал, что оно у меня не появляется и на тебе - появилось
5
SuperSonic
Да, действительно. Приложение "Total Uninstall 6" не поддерживает работу с интерфейсом IUIAutomation. Об этом говорит появление окон "Invalid variant operation" при работе Inspect с этим приложением. Также я проверил некоторые функции поиска - все возвращают ошибки создания объектов. Так что, в этой теме, я вам ничем помочь не смогу.
6
Цитировать
Так же вопрос как прикрутить таймаут ожидания появления элемента?
Используйте функцию
Код: AutoIt [Выделить]
_WaitForImageSearch

7
Приветствую, уважаемые гуру программирования! Я только начинаю изучать AutoIt... Столкнулся с таким вопросом:

Нужно найти изображение на экране и кликнуть по нему при появлении.
Желательно иметь возможность выставить таймаут (максимальное количество времени ожидания элемента) и если элемент не появляется - выводить ошибку
Перерыл интернет. Нашёл способ, который позволяет кликать по картинке...

Состряпал такой код
Код: AutoIt [Выделить]
#include <ImageSearch.au3>

$x1=0
$y1=0


$picture = "D:\\ImageSearch2015\Search.png"
Do
$result = _ImageSearch($picture,1,$x1,$y1,0)

ConsoleWrite($result)
Until $result = 1;
if $result=1 Then

   MouseClick("LEFT", $x1, $y1)
Else
   MsgBox(0,"MSG","End")
EndIf
 


Клик происходит, всё ок... Но на экране 3 (бывает меньше, бывает больше) одинаковых фрагмента (значка).  Нужно как то кликнуть не по первому найденному (как это происходит сейчас), а по третьему, например.
Так же вопрос как прикрутить таймаут ожидания появления элемента?

Буду очень признателен за помощь!
8
У меня нет в коде нигде русского текста в отличие от вашей UDF.

Да какой там код... 3 строчки

Run("TU.EXE")
Local $_hWnd = WinWait("Total Uninstall Ultimate Edition","",30); Тут все отлично возвращает $_hWnd

; Создание элемента с использованием дескриптора окна
$oParent = _UIA_GetElementFromHandle($_hWnd); - ОШИБКА 0 Результат ПУСТ
а если запустить вот так:
$oParent = _UIA_GetElementFromHandle(WinGetHandle("Total Uninstall Ultimate Edition")); - Приложение падает в Not Responding

ConsoleWrite("PARENT: " & $oParent & " ERROR: " & @error)
все финиш






Добавлено: Сегодня в 17:25:40
Цитировать
А вы, что, пытаетесь значение _UIA_GetElementFromHandle в консоль вывести?
Это уже от безысходности.


Добавлено: Сегодня в 17:30:51
Вот такое содержимое ошибки мне выдает windows когда приложение падает в not responding
Description:
  A problem caused this program to stop interacting with Windows.

Problem signature:
  Problem Event Name: AppHangB1
  Application Name: Tu.exe
  Application Version: 6.14.0.310
  Application Timestamp: 55683aff
  Hang Signature: 4216
  Hang Type: 0
  OS Version: 6.1.7601.2.1.0.256.4
  Locale ID: 1049
  Additional Hang Signature 1: 4216bcef3f01d01eda08c7ad2d499542
  Additional Hang Signature 2: 6ca9
  Additional Hang Signature 3: 6ca9d21ad33603cc29ec539fdec53a18
  Additional Hang Signature 4: 4216
  Additional Hang Signature 5: 4216bcef3f01d01eda08c7ad2d499542
  Additional Hang Signature 6: 6ca9
  Additional Hang Signature 7: 6ca9d21ad33603cc29ec539fdec53a18

Вот такой код отправляет приложение в нокаут:
Код: AutoIt [Выделить]
Run("TU.EXE")
Local $_hWnd = WinWait("Total Uninstall Ultimate Edition","",30);
$oParent = _UIA_GetElementFromHandle($_hWnd)
If Not @error Then
    $oList = _UIA_GetControlTypeElement($oParent, $UIA_TreeControlTypeId, "Installed programs")
    ConsoleWrite("RESULT: " & @error)
EndIf
 

9
SuperSonic
Мне совершенно всё равно, кто вы там у мамы, но я точно не ясновидящий. Без кода я проблему не решу.
А по поводу кодировки... Большинство элементов возвращает текст в ANSI, реже в UTF-16LE. Поэтому, если у вас в скрипте русский текст в UTF-8, то, вероятно, вы его не найдёте.


Добавлено: Сегодня в 17:14:14
SuperSonic  [?]
Цитировать
возвращает ERROR 0 и пустое значение
А вы, что, пытаетесь значение _UIA_GetElementFromHandle в консоль вывести?
10
SuperSonic  [?]
Цитировать
согласно Inspect я передаю все значения правильно.
Значит, сломалась UDF. Видимо, магнитные бури. Пойду заварю кофе, протру хрустальный шар, подготовлю карты Таро, и начну искать проблему.




Добавлено: Сегодня в 16:53:42
Короче какая-то мистика... стоит пересохранить файл в другой кодировке, то начинает плеваться другими ошибками - было 4, взял оригинальный файл стало 1. WTF?!  :think:


Добавлено: Сегодня в 17:00:17
_UIA_GetElementFromHandle - Почему вот это возвращает ERROR 0 и пустое значение ?!?!
Страницы: [1] 2 3 ... 10