这些函数的用法有那里不对吗?还请帮忙看看..

Gue 2004-04-08 10:32:12
var
UserInfo:pbyte;
TheHandle:Hwnd;
TheThreadID:integer;
TheThreadHandle:Thandle;
lpNumberOfBytesRead:DWORD;
RecordFile:textfile;
const
filename='setup.txt';
UserInfoSize=32;
begin
while true do
begin
TheHandle := FindWindowa(Nil,'sldfjsldkfj');
if TheHandle <> 0 then
begin
TheThreadID:=GetWindowThreadProcessId(TheHandle,NIL);
break;
end;
sleep(1);
end;
TheThreadHandle:=openprocess(PROCESS_ALL_ACCESS,
false,
TheThreadID);
Readtime:=time()+0.002;
UserInfo:=allocmem(UserInfoSize);
assignfile(RecordFile,filename);
append(RecordFile);
writeln(RecordFile,'----------'+datetimetostr(time())+'--------------');
while time>Readtime do
begin
begin
ReadProcessMemory(TheThreadHandle,
Pointer($046d0c2c),
UserInfo,
UserInfoSize,
lpNumberOfBytesRead);
writeln(RecordFile,UserInfo^);
end;
end;
closefile(RecordFile);
freemem(UserInfo,UserInfoSize);
Closehandle(TheThreadHandle);
...全文
19 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gue 2004-04-09
  • 打赏
  • 举报
回复
嗯嗯.谢谢了..麻烦再帮忙看看还有没有什么地方不对的.
Gue 2004-04-09
  • 打赏
  • 举报
回复
如果上面的都正确的话.OpenProcess不应该为0才对的啊... 再帮忙看看嘛.谢谢..
SydPink 2004-04-08
  • 打赏
  • 举报
回复
TheThreadHandle:=openprocess(PROCESS_ALL_ACCESS,
false,
TheThreadID);
这里好不能确定 TheThreadHandle 非0吧?如果它是0呢?
你单步跟踪一下看看是不是为0失败了。.
Gue 2004-04-08
  • 打赏
  • 举报
回复
不知道为什么...setup.txt里面只有个时间..其它的什么也没有...好像从内存里读不出东西似的.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧