请大家帮忙解决!菜鸟有提问了!

皮皮爸 2003-07-09 11:30:31
function hookproc(icode:integer;wparam:wparam;lparam:lparam):lresult;stdcall;
var s:string;
hookfile:textfile;
begin

if (peventmsg(lparam)^.message=wm_keydown) then
begin
s:=format('down:%5d %5d',[peventmsg(lparam)^.paraml,peventmsg(lparam)^.paramh])+
form1.keyhookresult(peventmsg(lparam)^.paraml,peventmsg(lparam)^.paramh);
//form1.ListBox1.Items.add(s);
if length(s)>0 then
begin
assignfile(hookfile,'G:\hook.txt');
rewrite(hookfile);
write(hookfile,s);
closefile(hookfile);
end;
end;
这是一个键盘记录,但是我在记事本里面得到的只有最后一个按键的信息!
如果我用用form1.ListBox1.Items.add(s);就可以得到没一个一个按键的信息!
着是为什么呢!请大家帮忙解决!
...全文
39 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostmirror 2003-07-11
  • 打赏
  • 举报
回复
???问题解决了吧??
楼主还有什么问题吗?为什么不结帖???
皮皮爸 2003-07-11
  • 打赏
  • 举报
回复
其实键盘钩子可以不做在dll里的,好想只有键盘可以吧!
呵呵!
皮皮爸 2003-07-10
  • 打赏
  • 举报
回复
rewrite(hookfile);
write(hookfile,s);
可以执行只记录最后的
reset(hookfile);
write(hookfile,s);
就会出现输入/输出05错误啊!
狂晕!
ghostmirror 2003-07-10
  • 打赏
  • 举报
回复
rewrite(hookfile);的问题
改为
if fileexists('g:\hook.txt') then
reset(hookfile)
else
rewrite(hookfile);
DWGZ 2003-07-10
  • 打赏
  • 举报
回复

begin
assignfile(hookfile,'G:\hook.txt');
reset(hookfile);
write(hookfile,s);
closefile(hookfile);
end;
OO_is_just_P 2003-07-10
  • 打赏
  • 举报
回复
up
terrace 2003-07-10
  • 打赏
  • 举报
回复
怎么没看懂,楼主能否把源码放上?

不是说钩子要做到DLL里才行吗?可楼主的是做在自己的应用程序里的。怎么回事呢?
vldb 2003-07-09
  • 打赏
  • 举报
回复
rewrite把文件原来的内容清除了
所以每次只把这次的内容写入了。

1,184

社区成员

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

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