procedure xxx;
var
hLib: THandle;
tInf: TModuleInfo;
s:string;
begin
hLib:= LoadLibrary('xxx.dll');
if hLib <> 0 then
begin
GetModuleInformation(GetCurrentProcess, hLib, @tInf, SizeOf(tInf));
s :=Format('%d', [DWORD(tInf.lpBaseOfDll)]);
end;===================
如上代码, 是取得游戏里加载的xxx.dll基址. 用线程dll hook 游戏是可以直接用的.但我想用一个独立的程序去读这个游戏dll的基址. 怎么实现呢. (是不是GetCurrentProcess 用什么替换?)
var
hLib: THandle;
tInf: TModuleInfo;
s:string;
begin
hLib:= LoadLibrary('xxx.dll');
if hLib <> 0 then
begin
GetModuleInformation(GetCurrentProcess, hLib, @tInf, SizeOf(tInf));
s :=Format('%d', [DWORD(tInf.lpBaseOfDll)]);
end;===================
如上代码, 是取得游戏里加载的xxx.dll基址. 用线程dll hook 游戏是可以直接用的.但我想用一个独立的程序去读这个游戏dll的基址. 怎么实现呢. (是不是GetCurrentProcess 用什么替换?)
解决方案 »
- 怪!delphi的adoquery查询oracle数据库
- 用Indy 的IdTCPClient和IdTCPServer组建,如何判断对方是否在线
- delphi与autocad
- 这是什么原因??
- 如何把一个ActiveForm充满IE的窗口?
- 没有网卡如何设定ip?静海师傅能看到吗?
- StringGrid怎样在点击一个cell的时候整行背景色改变,点击其他的时候恢复?我最后的80分了!
- 如何检验所有的Edit控件都不空
- 我的delphi怎么了?谢谢大家
- 怎样实现一个窗体出现几秒就消失了,接着出现主窗体
- TIdTCPClient Connect的问题
- 用Reset()打开的文件不能写?即使加上FileMode:=2;也不行??
Process32First
Process32Next
枚举到你要得到信息的进程.
然后OpenProcess 打开进程.其中返回值填入到GetModuleInformation第一个参数.
Process32First
Process32Next
枚举到你要得到信息的进程.
然后OpenProcess 打开进程.其中返回值填入到GetModuleInformation第一个参数.
begin
GetWindowThreadProcessId(FindWindow('类名','窗口标题'), @drProcessID);
drProcessHandle := OpenProcess(PROCESS_VM_READ or PROCESS_VM_WRITE or PROCESS_VM_OPERATION, true, drProcessID);
end;================drProcessHandle 做为句柄 不对. 听说 GetCurrentProcess 是个什么伪句柄....