CnPack Forum


 
Subject: Delphi input Helper for Delphi 2005
internetzs
新警察
Rank: 1



UID 529
Digest Posts 0
Credits 31
Posts 31
点点分 31
Reading Access 10
Registered 2004-9-29
Status Offline
Post at 2004-12-9 16:22  Profile | Site | Blog | P.M. 
Delphi input Helper for Delphi 2005

一切为了稳定,我简化了输入法功能。

直接调用CodeCompletion,而不再使用自定义的SymbolList,
Hook EditControl是造成不稳定的主要原因,改用了Global keyboard Hook

http://blog.csdn.net/51357/archive/2004/12/09/210647.aspx




Yeah, this is johnson. Johnson is a programmer.
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2004-12-10 08:42  Profile | Site | Blog | P.M. 
关于键盘钩子

我简单看了下代码,感觉使用一个第三方的dll来实现键盘钩子不是太合适,这个dll是使用SetWindowsHookEx 来进行 Hook 的,直接用 SetWindowsHookEx 创建键盘钩子也是很简单的啊。

另外我原来用钩子的时候发现根据 MSDN 中的说法做出来的钩子会导致万能五笔输入法不能使用,后来改了改可以用了,还是觉得不好,现在 CnWizards 里的输入助手是使用 ApplicationEvents.OnMessage 来拦截按键消息,效果也不错。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
internetzs
新警察
Rank: 1



UID 529
Digest Posts 0
Credits 31
Posts 31
点点分 31
Reading Access 10
Registered 2004-9-29
Status Offline
Post at 2004-12-10 23:50  Profile | Site | Blog | P.M. 
ApplicationEvents.OnMessage 能拦截KeyDown消息吗?




Yeah, this is johnson. Johnson is a programmer.
Top
zjy
管理员
Rank: 9Rank: 9Rank: 9



UID 2
Digest Posts 6
Credits 2385
Posts 1543
点点分 2385
Reading Access 102
Registered 2002-12-16
Location China
Status Offline
Post at 2004-12-11 11:23  Profile | Site | Blog | P.M. 
呵呵,估计你也没想到,你看看 Application.ProcessMessage 的代码就知道了。
这个比什么Hook都好用,而且也安全。




Zhou JingYu
CnPack Administrator
http://www.cnpack.org/
Top
 




All times are GMT++8, the time now is 2024-11-22 07:10

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.014976 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP