Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
5 / 5 / 3
Регистрация: 10.06.2011
Сообщений: 242
1

Компилятор ругается на функцию чтения/записи процесса

04.06.2014, 23:39. Показов 1712. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Вот код программы
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
unit Unit4;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;
 
type
  TForm4 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form4: TForm4;
WindowName: integer;
ProcessId: integer;
ThreadId: integer;
HandleWindow: Integer;
write: cardinal;
 
buf: dword;
const
WindowTitle = 'Plants vs. Zombies';
Address = $14724824;
NumberOfBytes = 4;
 
 
implementation
 
{$R *.dfm}
 
 
procedure s1ow_mode;
begin
WindowName := FindWindow(nil,WindowTitle);
ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
buf:= $2fc + $800 +$7f8+$324+$c8;
WriteProcessMemory(HandleWindow, ptr(address), @buf, 4, write);
end;
 
 
procedure TForm4.Timer1Timer(Sender: TObject);
begin
if (GetAsyncKeyState(VK_F1) <> 0) then begin
s1ow_mode;
end;
end;
 
end.
Компилятор ругается на
Delphi
1
WriteProcessMemory(HandleWindow, ptr(address), @buf, 4, write);
Ошибка:
E2033 Types of actual and formal var parameters must be identical

Компилятор Delphi XE5
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2014, 23:39
Ответы с готовыми решениями:

Компилятор ругается на функцию strncat
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; long p,x,i,j,k,d,l; char t,s;...

Почему компилятор ругается на математическую функцию?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace...

Компилятор TCC ругается на функцию, принимающую ссылку
Не может быть, чтобы там был такой примитивный баг. Скорее всего, я просто чего-то не понимаю в...

Почему компилятор ругается на библиотечную функцию _atold() ?
Помогите с ошибкой, компилятор не принимает функцию _atold() встроенную в C++ #include...

8
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
05.06.2014, 01:20 2
Цитата Сообщение от Maxsis Посмотреть сообщение
Компилятор Delphi XE5
Ну конечно. Компилятор новый. Пример, с которого содран код старый. Залезть в исходники ХЕ5 и посмотреть нынешнее объявление функции - не барское дело.
function WriteProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
nSize: SIZE_T; var lpNumberOfBytesWritten: SIZE_T): BOOL; stdcall;

Цитата Сообщение от Maxsis Посмотреть сообщение
write: cardinal;
Про имя переменной HandleWindow я уже молчу. Автор примера тоже наверно откуда-то его содрал.
1
5 / 5 / 3
Регистрация: 10.06.2011
Сообщений: 242
05.06.2014, 07:56  [ТС] 3
Цитата Сообщение от northener Посмотреть сообщение
Про имя переменной HandleWindow я уже молчу. Автор примера тоже наверно откуда-то его содрал.
Лол. Что? SIZE_T? Я без понятия как его указывать.
Что тебе не нравится в write: cardinal?
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
05.06.2014, 10:20 4
Цитата Сообщение от Maxsis Посмотреть сообщение
Что тебе не нравится в write: cardinal?
Ты меня ни с кем не путаешь? Это ты у компилятора ХЕ5 спрашивай?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
05.06.2014, 15:10 5
Цитата Сообщение от Maxsis Посмотреть сообщение
Что тебе не нравится в write: cardinal?
То, что при запуске под 64 бита все полетит к чертям. Скажи спасибо, что компилятор тебя предупреждает. Вместо Cardinal в новых версиях Дельфи нужно использовать NativeUInt...
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
05.06.2014, 15:42 6
Цитата Сообщение от UI Посмотреть сообщение
Вместо Cardinal в новых версиях Дельфи нужно использовать NativeUInt...
Не пойдет в данном случае, имхо. Нужно именно SIZE_T.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
05.06.2014, 17:59 7
northener, я сначала проверяю, и только потом пишу. Пора бы уже привыкнуть
0
5 / 5 / 3
Регистрация: 10.06.2011
Сообщений: 242
05.06.2014, 19:22  [ТС] 8
Цитата Сообщение от UI Посмотреть сообщение
northener, я сначала проверяю, и только потом пишу. Пора бы уже привыкнуть
может быть хватит "хард теребить" и скинишь рабочий вариант моей проги на XE?
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,251
05.06.2014, 20:12 9
Цитата Сообщение от UI Посмотреть сообщение
northener, я сначала проверяю, и только потом пишу. Пора бы уже привыкнуть
И в этот раз проверил? На этом коде?
0
05.06.2014, 20:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2014, 20:12
Помогаю со студенческими работами здесь

Ошибка в графике, компилятор ругается на функцию plot()
Помогите плс, пишу лабу по теории систем. Делаю абсолютно идентично примерам, только есть одна...

Ругается компилятор, если создаю функцию за пределами главного файла!
Вот что пишет компилятор 1&gt;------ Построение начато: проект: nasledovatlenostj, Конфигурация:...

Multiple definition: почему компилятор ругается на единственную функцию, используемую в обоих source-файлах?
Пихаю хедер в 2 сурсца разных классов. Компилятор ругается на единственную функцию, которую я...

Как передать файл в функцию для записи/чтения (разные функции)
Собственно сабж. Во первых есть вот такой блок в main: ofstream f1(&quot;F1.txt&quot;); cout&lt;&lt;&quot;Введите...

компилятор ругается на then
ребята посмотрите пожалуйста код моей лабы компилятор ругается на then unit Unit1; interface...

Ругается компилятор
bol типа string S - extended, само собой ft2 - textfile Ругается на последнюю строчку ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru