procedure TfrmConnection.Button1Click(Sender: TObject);
var
wtitle : string;
hwindow : integer;
thread_id : integer;
hprocess : integer;
process_id : integer;
Baddress : integer;
b_count : integer;
temp : integer;
buffer :PByteArray;
begin
Baddress:=$610AA0;
wtitle:='계산기';
b_count:=1;
hwindow:=FindWindowA (nil,pchar(wtitle));
if hwindow<>0 then
begin
thread_id:=GetWindowThreadProcessId (hwindow,@process_id);
hprocess:=OpenProcess (PROCESS_ALL_ACCESS,false,process_id);
if hprocess<>0 then
begin
temp:=0;
ReadProcessMemory (hprocess,pointer(Baddress),buffer,b_count,temp);
CloseHandle (hprocess);
end;
end;
end;
위의 프로그램은 계산기의 특정 메모리값을 읽어 오도록 하는 건데, 실제로 돌리면
ReadProcessMemory함수에서 "Types of actual and formal var parameters must be identical" 이라는 에러가 뜨고 실행이 안되는데, 고수님 계시면 방법 좀 부탁합니다.