Здравствуйте, гость ( Вход | Регистрация )

76 страниц V « < 64 65 66 67 68 > »   
Тема закрытаОткрыть новую тему
> Пожелания, Предложения по развитию сюда
IvanREX
сообщение 29.8.2016, 20:36
Сообщение #1301


*

Registred
Сообщений: 1
Регистрация: 29.8.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.097
Возраст: 24



Очень не хватает возможности работать с памятью по указателям (или я просто не знаю как - простите).
К примеру нужно быстро получить количество жизней или считывать состояние игрового поля командой readmem.
С указателями насколько я понимаю она не работает, а статичные адреса в наше время - раритет.

Указатели можно находить при помощи CheatEngine. Вот просто для примера:

Код
<Description>"money"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>"SanctumGame-Win32-Shipping.exe"+021B23E0</Address>
      <Offsets>
        <Offset>21C</Offset>
        <Offset>478</Offset>
        <Offset>D8</Offset>
        <Offset>4</Offset>
      </Offsets>


И выглядеть это будет примерно так:
Код
readmem #hi1 021B23E0+21C+478+D8+4 d
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
EL-GReeN
сообщение 30.8.2016, 12:10
Сообщение #1302


*****

Journeyman
Сообщений: 474
Регистрация: 18.7.2011
Группа: Пользователи
Наличность: 0
Из: Россия
Пользователь №: 13.815
Возраст: 32



Цитата(IvanREX @ 29.8.2016, 20:36) *

Очень не хватает возможности работать с памятью по указателям (или я просто не знаю как - простите).

https://forum.uokit.com/index.php?s=&sh...st&p=165524

Код

readmem #if1 0xCE3228 d //чтение указателя 1
readmem #decCount #if1 d             //чтение указателя 2
readmem $lmess #decCount s 120       //чтение сообщения



--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Shon435
сообщение 22.10.2016, 12:48
Сообщение #1303


**

Neophyte
Сообщений: 19
Регистрация: 7.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.146
Возраст: 20



Добавить Pay Pal , люди которые из за границы даже если и хотят помочь разработчикам, сделать этого не могут .
Так как понятия не имеют что такое Webmoney или Yandex деньги.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 22.10.2016, 14:16
Сообщение #1304


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



webmoney по всему миру вроде.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.10.2016, 14:22
Сообщение #1305


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Цитата
webmoney по всему миру вроде.

с PayPal сравнивать не стоит (IMG:style_emoticons/default/smile.gif)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 22.10.2016, 14:46
Сообщение #1306


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



Я и не сравнивал. Есть возможность кидать из-за бугра и ладно. Глупо же, например, заводить счет, ради того, чтобы на него перечислило пару человек из Зимбабве.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.10.2016, 15:20
Сообщение #1307


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Цитата
Я и не сравнивал. Есть возможность кидать из-за бугра и ладно. Глупо же, например, заводить счет, ради того, чтобы на него перечислило пару человек из Зимбабве.

А заводить счет этому забугру в вебмани чтобы он перечислил деньги не глупо? Закинуть деньги на вебмани без сторонних сервисов бывает реально очень сложно. Я с вебмани работаю и знаю какой нетривиальный процесс.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Shon435
сообщение 23.10.2016, 1:31
Сообщение #1308


**

Neophyte
Сообщений: 19
Регистрация: 7.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.146
Возраст: 20



Цитата(Cockney @ 22.10.2016, 14:46) *

Я и не сравнивал. Есть возможность кидать из-за бугра и ладно. Глупо же, например, заводить счет, ради того, чтобы на него перечислило пару человек из Зимбабве.


Не надо спорить , Pay Pal во всем мире кроме наверно нескольких стран включая Россию, Украину и т.д
И за границей я не знаю не одного человека кто работает с Webmoney.
А русско говорящих людей очень много.
И не кто не заставляет вас или кого либо другого что то делать . Если разработчики захотят откроют , нет так нет.

Я лично плачу через Pay Pal абсолютно везде , что бы не светить кредитку. И пока не встречал не одного места где бы не было оплаты через Pay Pal.
А вы не покупаете не чего , например через Ebay ?!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 23.10.2016, 14:48
Сообщение #1309


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Вообще PayPal зарегистрирован на емайл, указанный в "О программе" пилота, но не знаю работает ли, никогда еще не пользовался.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_BoB_
сообщение 26.10.2016, 11:49
Сообщение #1310


*

Registred
Сообщений: 5
Регистрация: 26.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.163
Возраст: 52



Использую UO Pilot для автоматизации работы: MS Office-> SAP ->MS Office
При работе с несколькими книгами в Excel или документами MDI в Word, функция getwindow (0) возвращает хандл активного сервера автоматизации. Чтобы первый раз добраться до нужного окна документа (разврнутого не во весь экран) приходится программно "поизголяться" и потратить пару - другую минут. В течение дня запускаю Pilot десяток раз, а минуты превращаются в час ...
Функция WindowFromCursor конечно работает, но заранее предсказать в какое место экрана SAP выведет выгрузку - это игра в рулетку.
Проблеме может помочь:
- новая функция getfocus() с вызовом одноименной API или
- модификация getwindow и добавлением соответствующего ключа , с вызовом getfocus API,
которые будут возвращать хэндл окна находящегося в фокусе.
Доработка по времени и затратам почти ничего стоить не будет (вызов одной WIN API GetFocus) но польза большая.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 26.10.2016, 12:51
Сообщение #1311


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



О каких минутах речь ? Getwindow возвращает окна в любом направлении. Зная хендл родителя, в конкретном случае, сервера, можно получить доступ ко всем дочерним элементам.


Код
set #n findwindow (<заголовок окна или класс>) //вернет последнее активное окно, подходящее под описание. 


Как альтернатива.

+ написание плагина.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_BoB_
сообщение 26.10.2016, 15:11
Сообщение #1312


*

Registred
Сообщений: 5
Регистрация: 26.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.163
Возраст: 52



[quote name='Cockney' date='26.10.2016, 12:51' post='224090']
О каких минутах речь ? Getwindow возвращает окна в любом направлении. Зная хендл родителя, в конкретном случае, сервера, можно получить доступ ко всем дочерним элементам.

Искомое окно находится в дереве хэндлов на втором уровне вложения и прикреплено к окну с пустым заголовком класса XLDESK см. пример.
В нашем случае обработке подлежит:
- 13 хэндлов 1-го уровня со всеми хэндлами 2-го уровня (всего 19 шт.)
Количество обрабатываемых хэндлов может быть и больше.
Применение Getwindow с классом XLDESK тоже не поможет.
Всю эту заморочку можно легко обойти одной командой Win API GetFocus которое возвращает хендл окна находящегося в фокусе а не активного сервера "Microsoft Excel" как это делает GetWindow, но Pilot этого пока делать не умеет.


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 26.10.2016, 15:49
Сообщение #1313


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



Код
set #main findwindow (XLMAIN) //Получим главный хендл (XLMAIN)
set #list1 getwindow (#main CHILD) //получим первое дочернее окно (сверху вниз в желтой рамке)
set #list1_child getwindow (#list1 CHILD) //получим ребенка первого дочернего окна XLMAIN) (в зеленой рамке сверху вниз)
set #list2 getwindow (#list1 NEXT) //получим второе окно от XLMAIN (желтая рамка сверху вниз)
set #list2_child getwindow (#list2 CHILD) //получение ребенка второго окна от XLMAIN (зеленая рамка сверху вниз)


Или я опять что-то не понял ? Кол-во обрабатываемых окон можно внести в цикл, но сути это не меняет. Таким образом можно собрать Все хендлы окна и это не будет стоить нескольких минут.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_BoB_
сообщение 26.10.2016, 17:11
Сообщение #1314


*

Registred
Сообщений: 5
Регистрация: 26.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.163
Возраст: 52



Или я опять что-то не понял ? Кол-во обрабатываемых окон можно внести в цикл, но сути это не меняет. Таким образом можно собрать Все хендлы окна и это не будет стоить нескольких минут.

В первом приближении все верно . После добавления к каждому найденному хэндлу getwindowtext и posex получаю время обработки около 37 сек. Сам алгоритм не сложен, но хочется все сделать оптимально по быстродействию - спасибо Джеффри Рихтер подсказал решение. Средствами VBA Excel поиск данного хэндла производится одной командой - вызовом WIN API. Научите как из UO Pilot вызвать WIN API GetFocus?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 26.10.2016, 18:22
Сообщение #1315


********

Master
Сообщений: 1.404
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 22549
Пользователь №: 16.156



1) плагин
2) shell (наверное)
3) vbs скрипты.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 26.10.2016, 18:29
Сообщение #1316


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Цитата
В первом приближении все верно . После добавления к каждому найденному хэндлу getwindowtext и posex получаю время обработки около 37 сек.

Какие-то дикие цифры. У вас задержка между строк какая установлена? set linedelay 0?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 26.10.2016, 19:25
Сообщение #1317


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Проверь билд 034, функция GetFocus.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_BoB_
сообщение 27.10.2016, 16:00
Сообщение #1318


*

Registred
Сообщений: 5
Регистрация: 26.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.163
Возраст: 52



Цитата(WKnight @ 26.10.2016, 19:25) *

Проверь билд 034, функция GetFocus.

1) В версии 2.34 стояла задержка set linedelay 100. Изменение на set linedelay 0 увеличение скорости поиска хэндла листа на сервере Excel не дало (вместо 37 сек. стал работать 36 сек.)
Вместе с тем, по другим скриптам произошло увеличение скорости обработки, а сама система автоматизации "упала". Во всех критических местах пришлось ввести задержки по 100 ms.
2) С переходом на v.2.38_b034 и set linedelay 0 скорость поиска (старый алгоритм) составила 5 секунд.
3) GetFocus работает как часы. Теперь поиск хендла фокусного окна в нескольких книгах Excel , документах MDI Word и таблицах MDI 1С (открытых не во весь экран) - перестает быть проблемой.
Оценка Ваша работы - выше любых похвал.

И как последнее пожелание: на ссылке http://uopilot.tati.pro/index.php?title=SendMessage - нужно исправить MDSN на MSDN
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
_BoB_
сообщение 2.11.2016, 14:32
Сообщение #1319


*

Registred
Сообщений: 5
Регистрация: 26.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.163
Возраст: 52



Цитата(WKnight @ 26.10.2016, 19:25) *

Проверь билд 034, функция GetFocus.


С переходом на v.2.38.1_b034 перестал работать запуск Excel с параметрами :
Код

exec C:\Program Files\Microsoft Office\Office14\excel.exe "D:\Реестр_согласованных_договоров.xlsm"

errorlabel = 267 "Неправильно задано имя файла"
в версии v.2.34 все работает нормально. Что-то в команде изменилось или баг?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 2.11.2016, 20:53
Сообщение #1320


***********

Модератор UOPilot
Сообщений: 9.745
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 29676
Пользователь №: 11.279



Цитата
в версии v.2.34 все работает нормально. Что-то в команде изменилось или баг?

Была переделана для возможности возврата pid.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

76 страниц V « < 64 65 66 67 68 > » 
Тема закрытаОткрыть новую тему
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 18.7.2025, 7:11
Designed by Nickostyle