用delphi写程序读其他程序调用的DLL文件中内存地址的方案 20
已知A程序在特定的页面中会调用到一个abc.dll的文件,里面存放着一些数据,我用CE找到的地址也是必须在这个页面下才能正常读取,在其他页面时就读不到了,请问能不能用DE...
已知A程序在特定的页面中会调用到一个abc.dll的文件 ,里面存放着一些数据,我用CE找到的地址也是必须在这个页面下才能正常读取,在其他页面时就读不到了,请问能不能用DELPHI编程首先能够一直读到这个地址?
展开
1个回答
展开全部
Windown Api:
LoadLibrary
载入指定的动态链接库,并将它映射到当前进程使用的地址空间。一旦载入,即可访问库内保存的资源,成功则返回库模块的句柄,零表示失败
FreeLibrary
释放指定的动态链接库
用 LoadLibrary 载入 abc.dll
var
RasLib : THandle;
Str:array[0..255] of Char;
begin
RasLib := LoadLibrary (PChar(AppPath+'abc.dll')) ;
try
if RasLib <> 0 then begin
//资源类型为 Bitmap,资源 ID 为 1
Bitmap1.Handle:=LoadBitmap(RasLib, MakeIntResource(1));
//资源类型为 icon,资源名称 为 MainIcon
icon1.Handle := LoadIcon(RasLib, 'MainIcon');
//资源类型为 String,资源 ID 为 3
if LoadString(RasLib, 3, @Str, sizeof(Str)) <> 0 then
Label1.Caption := StrPas(Str);
//载入任意类型资源
with TResourceStream.Create(RasLib, 资源名称, 资源类型) do begin
try
SaveToFile('d:\.....');
....
SaveToStream(Stream);
finally
Free;
end;
end;
finally
FreeLibrary(RasLib);
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询