Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Содержимое ячейки памяти


Автор: Жареный 14.2.2007, 19:13
 smile Ребята. Задача такая. в некоторых играх отсутствует отображение значения определенных параметров, патронов например. Можно найти это значение например с помощью Артмани, остается задача - прочитать найденную ячейку и вывести ее значение поверх всех окон в углу экрана. На делфи конечно, других языков кроме бейсика я не знаю. естественно известно только название процесса и адрес ячейки в нем. Я ищу решение, постораюсь написать, если что найду.

Автор: Snowy 14.2.2007, 19:17
Так в чём вопрос-то?
Может это поможет: http://forum.vingrad.ru/topic-85291/0.html#entry658568

Автор: Жареный 14.2.2007, 19:25
Id процесса... Артмани выдает только имя процесса, по названию ехешника наверное. и значение ячейки. Спасибо, я просмотрю этот код, думаю мне это поможет
Как ID Узнать?
 smile 

Автор: Snowy 14.2.2007, 19:48
Код

procedure NTProcess; // получаем список запущенных процессов
var
  PIDArray: array [0..1023] of DWORD;
  cb: DWORD;
  I: Integer;
  ProcCount: Integer;
  hMod: HMODULE;
  hProcess: THandle;
  ModuleName: string;
begin
  EnumProcesses(@PIDArray, SizeOf(PIDArray), cb);
  ProcCount := cb div SizeOf(DWORD);
  for I := 0 to ProcCount - 1 do
  begin
    hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, PIDArray[I]);
    if (hProcess <> 0) then
    begin
      EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb);
      SetLength(ModuleName, MAX_PATH);
      GetModuleFilenameEx(hProcess, hMod, PChar(ModuleName), MAX_PATH);
      ModuleName := PChar(ModuleName);
      CloseHandle(hProcess);
      // ModuleName - Это exe
      // PIDArray[I] - Это его PID
    end;
  end;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)