Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2010, 13:58   #21
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Код:
procedure TTimer1.Timer(Sender: TObject);
begin
  edPChar.Text := Read_String ($FFFFFFFF{ваш адрес}, 200);
end;
Не работает, появляется ошибка:
Код:
Incompatible types: 'Pointer' and 'Integer'
xRamzeSx вне форума Ответить с цитированием
Старый 16.09.2010, 14:55   #22
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Код:
edPChar.Text := Read_String (Pointer($FFFFFFFF), 200);
Штука называется - приведение типов.
Sibedir вне форума Ответить с цитированием
Старый 16.09.2010, 15:18   #23
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Программа запускается, но считывания не происходит. Кажется, что программа не находит процесс, хотя я его указываю
xRamzeSx вне форума Ответить с цитированием
Старый 16.09.2010, 15:47   #24
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

При считывании из адреса, даже нечего не отображается.
xRamzeSx вне форума Ответить с цитированием
Старый 16.09.2010, 15:47   #25
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Возможно вы путаете WindowTitle и его Caption.
Пробуйте:
Код:
WindowH := FindWindowEx (0, 0, nil, 'Это заголовок окна нужной программы');
Sibedir вне форума Ответить с цитированием
Старый 16.09.2010, 15:52   #26
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Всё-равно, не работает.
xRamzeSx вне форума Ответить с цитированием
Старый 16.09.2010, 15:55   #27
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Label4: TLabel;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

const
  WindowTitle = 'www.awplanet.com';

implementation

function read_value (Address: Pointer; ASize: Cardinal; var AOut: Pointer): Cardinal;
var
  WindowH: DWORD;
  ThreadId: DWORD;
  ProcessId: DWORD;
  ProcessH: DWORD;
begin
  WindowH := FindWindowEx (0, 0, nil, 'www.awplanet.com');
  ThreadId := GetWindowThreadProcessId (WindowH, ProcessId);
  ProcessH := OpenProcess (PROCESS_VM_READ, False, ProcessId);

  ReadProcessMemory(ProcessH, Address, AOut, ASize, Result);

  CloseHandle (ProcessH);
end;

function Read_Integer (Address: Pointer; ASize: Cardinal): Integer;
var
  buf: PInteger;
begin
  GetMem (buf, ASize);
  if read_value (Address, ASize, Pointer(buf)) = ASize then
    Result := buf^
  else
    Result := 0;
end;

function Read_Real (Address: Pointer; ASize: Cardinal): Real;
var
  buf: ^Real;
begin
  GetMem (buf, ASize);
  if read_value (Address, ASize, Pointer(buf)) = ASize then
    Result := buf^
  else
    Result := 0;
end;

function Read_String (Address: Pointer; ASize: Cardinal): String;
var
  buf: String;
begin
  SetLength (buf, ASize);
  if read_value (Address, ASize, Pointer(buf)) = ASize then
    Result := buf
  else
    Result := 'Не вижу окно';
end;

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label4.Caption:= Read_String (Pointer($456B8C), 200);
end;

end.
Это сейчас записано
xRamzeSx вне форума Ответить с цитированием
Старый 16.09.2010, 16:22   #28
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Откуда вот это - www.awplanet.com? Я не в курсе, что за игра. Я так понимаю она онлайн. А это, наверное, заголовок окна клиента игры?
И сразу еще вопрос:
Откуда вот это - $456B8C?

Последний раз редактировалось Sibedir; 16.09.2010 в 16:30.
Sibedir вне форума Ответить с цитированием
Старый 16.09.2010, 16:39   #29
xRamzeSx
Форумчанин
 
Регистрация: 24.01.2010
Сообщений: 151
По умолчанию

Цитата:
Сообщение от Sibedir Посмотреть сообщение
Откуда вот это - www.awplanet.com? Я не в курсе, что за игра. Я так понимаю она онлайн. А это, наверное, заголовок окна клиента игры?
Да это заголовок игры.
Цитата:
Сообщение от Sibedir Посмотреть сообщение
Откуда вот это - $456B8C?
Это из неё же, она не является браузерной, есть файл, находящийся на в папке на жёстком диске, в этом файле $456B8C адрес, который показывает Ник игрока.
xRamzeSx вне форума Ответить с цитированием
Старый 16.09.2010, 16:48   #30
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Ну я скачал игру, зарегился. Кур уже потоптал. Как файл называется-то?
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в др.файле тот же текст, develish151 Microsoft Office Word 4 05.05.2010 13:20
Натуральное число, в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведенн OTLi4HO Общие вопросы C/C++ 6 14.01.2009 19:48
Как узнать какой текст выделен в текст поле mogul82 JavaScript, Ajax 2 02.11.2008 16:32