|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Помогите с трейнером... Решил написать трейнер, но в игре значение не целое а вещестевнное(дробное) так вот: как записать дробное значение в ячейку оперативной памяти? вот немного погуглив нашел код: Код: var
PokeValue :integer; /// при смене на real ругается на строку
---------------------------------------------
Const WindowTitle = 'tst';
      Address2 = $0123FDC0;
-----------------------------------------------------
pokevalue1:= StrToInt(Edit3.Text);
WindowName := FindWindow(nil,WindowTitle);
  ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
  HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
  GetMem(buf,1);
  buf^ := Chr(PokeValue1); вот ету строку!!!
  WriteProcessMemory(HandleWindow,ptr(Address2),buf,NumberOfBytes,write);
  FreeMem(buf);
  CloseHandle(HandleWindow);  Последний раз редактировалось ©@nek :), 24.12.2011 в 21:48. | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   Попробуй так: Код: var PokeValue : Single; ... PokeValue := 1.15; WriteProcessMemory(HandleWindow, ptr(Address2), @PokeValue, NumberOfBytes, write); ... | 
| 
			 
			#3  
			
			
			
			
		 | ||||
| 
 | ||||
|   Конечно ругается. Часть кода полностью лишена смысла. Код: GetMem(buf,1); buf^ := Chr(PokeValue1); вот ету строку!!! WriteProcessMemory(HandleWindow,ptr(Address2),buf,NumberOfBytes,write); FreeMem(buf); Код: WriteProcessMemory(HandleWindow,ptr(Address2),@pokevalue1,sizeof(pokevalue1),write); | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   блин не то не другое не работает  | 
| 
			 
			#5  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
 | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   У меня жутко не хватает времени. Можете написать код как записать дробное значение в память?  Я думал думал что то не выходит никак  осталось во сем трейнере только это значение дописать и все! | 
| 
			 
			#7  
			
			
			
			
		 | ||||
| 
 | ||||
|   Код написали уже два раза. Если "не работает" - видимо, неверно задается (или ищется?) адрес, куда это писать. Или не получены необходимые привилегии процесса.  Или... Хотя гадать по приведенному вами коду можно долго. |