С памятью работаю первый раз, использую NomadMemory.au3.
Через ArtMoney нахожу значение.
Проблема - при чтении значения _MemoryRead всегда вовращает 0.
AutoIt Version: 3.3.14.2
Игра War Thunder.
Нужно считать количество Побед
Код прилагаю:
Смущает, что _MemoryOpen($iPID) возвращает 0..
----------
UPD
Проверил на ворде, колличество символов нашел через ArtMoney, подставил адрес в скрипт, читается.. то есть это игра не дает? ArtMoney читает значение.. как с этим бороться?
в примере с вордом
Через ArtMoney нахожу значение.
Проблема - при чтении значения _MemoryRead всегда вовращает 0.
AutoIt Version: 3.3.14.2
Игра War Thunder.
Нужно считать количество Побед
Код прилагаю:
Код:
#include <NomadMemory.au3>
#include <Array.au3>
SetPrivilege("SeDebugPrivilege", 1)
$hwnd = WinActivate("[CLASS:DagorWClass]")
$iPID = WinGetProcess($hWnd)
;MsgBox(0,"",$iPID) ; 2088
$mOpen = _MemoryOpen($iPID)
If @Error Then
MsgBox(4096, "ERROR", "Ошибка открытия памяти процесса")
Exit
EndIf
;_ArrayDisplay($mOpen) ; [0] = 1
; [1] = 0 возвращает
$mRead = (_MemoryRead(0xAD137DC0, $mOpen))
If @Error Then
MsgBox(4096, "ERROR", "Ошибка чтения памяти процесса")
Exit
EndIf
MsgBox(0,"",$mRead)
_MemoryClose($iPID)
Смущает, что _MemoryOpen($iPID) возвращает 0..
----------
UPD
Проверил на ворде, колличество символов нашел через ArtMoney, подставил адрес в скрипт, читается.. то есть это игра не дает? ArtMoney читает значение.. как с этим бороться?
в примере с вордом
Код:
_MemoryOpen($iPID)
;_ArrayDisplay($mOpen) ; [0] = 1
; [300] = 300 возвращает