有没有能监测汉字录入的键盘hook?好难啊,谁能帮我?

TWWH 2003-08-22 11:49:44
一般的键盘hook我会做。但是,这样的hook有个问题:输入汉字时记录的是键盘字符,而不是汉字本身。例如:“中”---"zhong",怎么能记录下来真正的汉字啊?
先放100分,如果解决,再给200分。
...全文
170 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
afei78223 2003-11-16
  • 打赏
  • 举报
回复
学习!
fule 2003-11-16
  • 打赏
  • 举报
回复
有空的话给我也发一份吧
aspire1400@hotmail.com
学习~~~
siwuge 2003-11-14
  • 打赏
  • 举报
回复
我现在也在头痛这个问题,我也想要一份,siwuge@163.com 谢谢。
papaya_stone 2003-11-14
  • 打赏
  • 举报
回复
用WH_CALLWNDPROC的钩子截获WM_IME_COMPOSITION消息

delphi我不是很熟,VC的代码:(可以参考)
http://expert.csdn.net/Expert/topic/2260/2260850.xml?temp=.8164789
TWWH 2003-11-13
  • 打赏
  • 举报
回复
to zhourongbiao(Edward):
谢谢你的回答!
你创建和使用钩子的函数呢,能不能把代码多贴点?你的代码最有希望解决我的问题。
zhourongbiao 2003-10-25
  • 打赏
  • 举报
回复
可以截获汉字消息:WM_IME_CHAR,下面的代码是以前我学习时用过的一部分代码。

procedure SaveInfo(str: string);stdcall
var
f: textfile;
begin
AssignFile(f, FILENAME);
if FileExists(FILENAME)=false then
ReWrite(f)
else
Append(f);

if StrComp(pChar(str),pChar('#13#10'))=0 then
Writeln(f, '')
else
Write(f, str);

CloseFile(f);
end;

procedure HookProc(hwnd: integer; Msg: integer; wParam: WPARAM; lParam: LPARAM);stdcall
begin
if (Msg = WM_CHAR) and (lParam <> 1) then// 如果是英文
begin
SaveInfo(format('%s',[chr(wParam and $FF)]));
inc(g_pShare^.iCount);
if g_pShare.iCount > 60 then
begin
SaveInfo('#13#10');
g_pShare^.iCount := 0;
end;
end;

if (Msg = WM_IME_CHAR) then//如果是汉字
begin
SaveInfo(format('%s%s',[chr((wParam shr 8) and $FF),chr(wParam and $FF)]));
inc(g_pShare^.iCount, 2);
end
end;
upingking 2003-10-25
  • 打赏
  • 举报
回复
我也要的,谢谢了!

upingking@163.com
lovenoend 2003-10-25
  • 打赏
  • 举报
回复
我也要的,谢谢了!

lmj0591@163.com
afanyun 2003-10-25
  • 打赏
  • 举报
回复
给我也发一份的,我也要的,谢谢了!

huangfeilin@xinhuanet.com
coolfilm 2003-10-24
  • 打赏
  • 举报
回复
给一份。多谢
coolfilm@tom.com
Seahilly 2003-10-23
  • 打赏
  • 举报
回复
up
westdiamond 2003-10-23
  • 打赏
  • 举报
回复
不用多说,给我一份~ 不给黑了你~ :)
westwg@sina.com
HsyPrg 2003-10-22
  • 打赏
  • 举报
回复
hsycy@sfihk.com
好东西当然不能错过
ghbh 2003-10-22
  • 打赏
  • 举报
回复
给我发一份吧?谢谢了!
xrfw@163.com
lqdmafeng 2003-10-22
  • 打赏
  • 举报
回复
lqd8282@163.com
xiangding 2003-10-22
  • 打赏
  • 举报
回复
我也有,谁要?留下email
YYQQ 2003-10-21
  • 打赏
  • 举报
回复
to

vchoushen6(vc火神6号)
TWWH()

能给我发一份吗?谢谢了
lyq 2003-10-17
  • 打赏
  • 举报
回复
给一份。多谢
liuyq@tl.com.cn
eliphe 2003-09-03
  • 打赏
  • 举报
回复
up
cnhgj 2003-09-03
  • 打赏
  • 举报
回复
cnhgj@21cn.com
给我也一份,谢~
加载更多回复(8)

1,183

社区成员

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

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