Всем доброго времени суток , столкнулся со следующим :
По нажатию кнопки Открывается ф-ция list proc в которую грузиться список процессов из ф-ции reload , допустим в листе отобразилось 2 процесса, мне нужен 1 из них, я тыкаю на него и нажимаю выбор , после этого происходит определение хендла окна и его pid и в окне программы отображается имя персонажа.... так вот к сожалению этого не происходит, огромная просьба помочь с этим не дугом , бьюсь около недели , если тему не правильно назвал, понять и простить
Код:
Func Name_pers()
If WinActive("Last Chaos") Then
Global $pointer_charname_2 = _MemoryRead($base1,$mem)
Global $Name_pers_2 = $pointer_charname_2 + $offset_charname
Global $pointer_charname_1 = _MemoryRead($Name_pers_2, $mem)
Global $Name_pers_1 = $pointer_charname_1 + 0x0
Global $Name_pers = _MemoryRead($Name_pers_1, $mem, "char[15]")
WinSetTitle("Контрол Панель", "", $Name_pers)
EndIf
EndFunc ; имя перса
Func reload()
Local $aprocesses = ProcessList('Nksp.exe')
For $i = 1 To $aprocesses[0][0] Step +1
$mem = _memoryopen($aprocesses[$i][1])
GUICtrlSetData($list2,$aprocesses[$i][1])
next
EndFunc
Func list_proc()
GUICtrlSetData($sost, "Готов к работе")
$guilist = GUICreate("", 480, 520, -1, -1)
WinSetOnTop($guilist, "text", 1)
$l1 = GUICtrlCreateLabel("", 1000, 10000, 60, 20)
$list2 = GUICtrlCreateList("", 10, 10, 460, 450)
GUICtrlSetResizing($list1, 354)
$b1 = GUICtrlCreateButton("Выбор", 10, 460, 70, 20)
GUISetState()
$i = 0
$wh = 0
reload()
While 1
Switch GUIGetMsg()
Case $b1
local $sl = GUICtrlRead($list2)
Local $aprocesses2 = ProcessList('Nksp.exe')
For $i2 = 1 To $aprocesses2[0][0] Step +1
If WinGetProcess( $aprocesses2[$i2][1]) = $sl Then
$w = $aprocesses2[$i2][1]
EndIf
Next
GUISetState(@SW_SHOW, $LC_Hill)
Global $WinHandle = $w
Global $pid = $sl
Name_pers()
ExitLoop
EndSwitch
Sleep(10)
WEnd
GUIDelete($guilist)
GUISetState(@SW_SHOW, $LC_Hill)
EndFunc
global $baseaddrgg2 = _memorymodulegetbaseaddress($pid,'Engine.dll')
Global $base1 = "0x" & Hex($baseaddrgg2 + 0x76B248) ; база офсетов еджин
global $baseaddrvv = _memorymodulegetbaseaddress($pid, 'EntitiesMP.dll')
global $osn = "0x" & Hex($baseaddrvv + 0x20C8A0) ; база офсетом Енитис
Global $info = _MemoryOpen($pid) ; открытие процесса Ласт Хаос
Global $mem1= $info
По нажатию кнопки Открывается ф-ция list proc в которую грузиться список процессов из ф-ции reload , допустим в листе отобразилось 2 процесса, мне нужен 1 из них, я тыкаю на него и нажимаю выбор , после этого происходит определение хендла окна и его pid и в окне программы отображается имя персонажа.... так вот к сожалению этого не происходит, огромная просьба помочь с этим не дугом , бьюсь около недели , если тему не правильно назвал, понять и простить