PDA

Просмотр полной версии : [Обсуждение] Подскажите autoit


"Unix
14.11.2011, 03:01
Можно ли autoit(ом) узнать инфу о аккаунте? То есть информацию (после ввода пароля логин) - конкретно что на аккаунте?:sceptic:

xoraxax
14.11.2011, 17:14
можно

"Unix
14.11.2011, 17:35
Как? Приведи пример

xoraxax
15.11.2011, 18:40
а чего узнать то хочешь?

lcd1232
15.11.2011, 19:49
а чего узнать то хочешь?
Он хочет сделать автологин => нужно узнать сервер, где кто есть, левл раса и имя.

"Unix
15.11.2011, 19:55
Он хочет сделать автологин => нужно узнать сервер, где кто есть, левл раса и имя.
Я его уже сделал ([Ссылки могут видеть только зарегистрированные и активированные пользователи]). (хочу сделать просто по другому) то что сейчас сделано, то сделано на быструю руку.
Хочу вывести в лог (результат) и сделать, выполнение работы в не активном окне.

VeTaL_UA
16.11.2011, 11:20
вывести в лог
Ну на делфи это 2 строки кода вставить, не думаю, что на AutoIT больше...
выполнение работы в не активном окне
Разморозка окна поможет...

xoraxax
16.11.2011, 16:40
Клавиши неактивному окну автоитом как-то мудрено отправлять. Я вот так делал
ControlSend("Perfect World", "", "", "{f7}")
Но как-то немного криво работает (может мне конечно показалось). Возможно это можно сделать сообщениями - не разбирался. Про файлы в хэлпе есть с примерами...

sumikot
16.11.2011, 19:06
Про персов на акке можно узнать примерно так:


#include <NomadMemory.au3>
Global $NameWinClient = "Perfect World"
Global $HendleProc = WinGetProcess($NameWinClient)
Global $HendleDll = _MemoryOpen($HendleProc)
Global $BaseAdress = 0x00B27A04
Global $GameAdress = 0x00B280C4
Global $i
Global $PersData = ""

Global $n = _MemoryRead($BaseAdress, $HendleDll)
$n = _MemoryRead($n + 0x1C, $HendleDll)
$n = _MemoryRead($n + 0x18, $HendleDll)
$n = _MemoryRead($n + 0x08, $HendleDll)
Global $PersCnt = _MemoryRead($n + 0x988, $HendleDll); Сколько персов на акке
Global $PersArrAdr = _MemoryRead($n + 0x97C, $HendleDll); Адрес массива

For $i = 0 To $PersCnt - 1
$PersData &= "Лвл = " & _MemoryRead($PersArrAdr + ($i * 0x8C) + 0x0C, $HendleDll) & ", "
$PersData &= "Имя = " & _MemoryRead(_MemoryRead($PersArrAdr + ($i * 0x8C) + 0x18, $HendleDll), $HendleDll, "wchar[08]") & @CRLF
Next
MsgBox(0,"",$PersData)


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

На спасибо не настаиваю :) но и не откажусь