无法定位程序输入点 hook 与动态连接库hook32.dll上
调用dll是这么写的
function HookOn(lpHwnd:HWND;lpType:Longint):Longint;stdcall;external 'hook32.dll';
 function HookOff:Boolean;stdcall;external 'hook32.dll';
输出是这么写的
library hook32;uses
  SysUtils,
  Forms,
  myDLl in 'myDLl.pas';
{$R *.res}
    exports
  hookon,hookoff;
begin
end.
dll和exe文件放在一个文件夹里面的!
问题到底出在那里呢!请大家帮帮我!

解决方案 »

  1.   

    调用dll这么写
    function HookOn(lpHwnd:HWND;lpType:Longint):Longint;stdcall;external 'hook32.dll' name 'hookon';试一下?
      

  2.   

    THookOn=function (lpHwnd:HWND;lpType:Longint):Longint;stdcall;  //調用DLL

    var
      libhandle:Thandle;
      THookOn:THookOn;
    begin
      libhandle:=loadlibrary('你的library名稱');
      try
        if libhandle=0 then
          raise Edllloaderror.Create('Unable to Load Dll');
      

  3.   

    问题的关键是注意大小写,你的函数名称跟输出名称不一样,
    我测试过了,把函数声名
    function HookOn(lpHwnd:HWND;lpType:Longint):Longint;stdcall;external 'hook32.dll';
    function HookOff:Boolean;stdcall;external 'hook32.dll';
    改为:
    function hookon(lpHwnd:HWND;lpType:Longint):Longint;stdcall;external 'hook32.dll';
    function hookoff:Boolean;stdcall;external 'hook32.dll';
    就可以了,视视看,还有没有问题