又一个怪事!!!高手来看看 解决就给分,在线等!!!

conan0267 2004-03-06 06:43:51
本人在D下写了一个HOOK
但是编译器提示:
identifer expected but "EXPORTS" found
Undeclared identifer "setkeyhook"
Undeclared identifer "endkeyhook"
Undeclared identifer "nexthookproc"
Undeclared identifer "procsaveexit"
Undeclared identifer "keyhookexit"
我的原代码:
library KeyHook;


uses
windows,
messages,
hookproc in 'hookproc.pas',
SysUtils,
Classes,


exprots
setkeyhook,
endkeyhook;

{$R *.res}

begin
nexthookproc:=0;
procsaveexit:=exitproc;
exitproc:=@keyhookexit;
end.


///////////////////////////////////////
unit hookproc;

interface

uses
Windows, Messages, SysUtils, Controls, StdCtrls;

var
nexthookproc:hhook;
procsaveexit:pointer;


function setkeyhook:bool;export;//加载钩子
function endkeyhook:bool;export;//卸载钩子
procedure keyhookexit;far;



implementation


function setkeyhook:bool;export;//加载钩子
begin
nexthookproc := SetWindowsHookEx( WH_KEYBOARD, keyboardhookhandler, GetModuleHandle(PChar('keyspy')) , 0);
{
int idHook, // type of hook to install
HOOKPROC lpfn, // address of hook procedure
HINSTANCE hMod, // handle of application instance
DWORD dwThreadId // identity of thread to install hook for
);
}
result := nexthookproc<>0;
end;

function endkeyhook:bool;export;
begin
if nexthookproc<>0 then
begin
unhookwindowshookex(nexthookproc);
nexthookproc:=0;
messagebeep(0);
end;
result:=nexthookproc=0;
end;

procedure keyhookexit;far;
begin
if nexthookproc<>0 then endkeyhook;
exitproc:=procsaveexit;
end;

end.
...全文
123 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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