gpt4 book ai didi

delphi - 如何使用 BTMemoryModule 获取 HInstance

转载 作者:行者123 更新时间:2023-12-01 20:25:13 25 4
gpt4 key购买 nike

我正在尝试使用 BTMemoryModule.pas 单元从资源加载 dll,但收到此错误无法加载指定的模块。这些是我使用 BTMemoryModule 从 exe 调用的 dll 中的过程:

procedure StartHook; stdcall;
begin
if MessageHook=0 then
begin
MessageHook := SetWindowsHookEx(WH_GetMessage,
@GetMsgProc,
HInstance,
0);
if MessageHook = 0 then
ShowMessage(SysErrorMessage(GetLastError));
end;
end;

function GetMsgProc(Code: Integer;
wParam, lParam: Longint): Longint; stdcall ;
begin
Result := CallNextHookEx(MessageHook, Code, wParam, lParam);
end;

最佳答案

系统范围的钩子(Hook)必须使用磁盘上的实际 DLL 文件,因为它们必须被加载并映射到每个被钩子(Hook)运行的进程的地址空间中。换句话说,每个进程都会执行隐式的 LoadLibrary(),因此它需要一个真实 DLL 的文件名才能加载。您不能将基于资源的 DLL 用于此类 Hook 。

关于delphi - 如何使用 BTMemoryModule 获取 HInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8101292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com