日期:2014-05-20  浏览次数:20810 次

用java监听键盘输入
我现在做一个程序需要实时得跟踪键盘的输入,当客户输入回车键后,需要将客户在输回车前面所输的内容到数据库里去匹配,然后进行相应的操作。我是用KeyAdapter类的监听功能,但我这个程序是希望运行在后台,也就是说当这个程序启动的时候,无论客户在那里输入内容(在ie,word等其他应用程序),都将被记录下来,但目前好像只能在程序里起一个JPanal,并且把这个Panel设成focus后才会记录.这样,我在切换到其他应用程序时就不会监听成功了.
问一下这里的高手有什么解决办法吗?谢谢!

------解决方案--------------------
貌似你这个非法
------解决方案--------------------
我好像是没想到
------解决方案--------------------
只用java是做不了的,要用Windows的系统钩子进行。因为你的程序是运行在java平台上的,不可能超出java虚拟机的范围,java虚拟机是一个进程,ie,word是其他的进程,要想捕获其他发给其他进程的消息,必须站在系统的角度才能做到,在自己的进程里面再折腾也不能得到别的进程的任何信息。
------解决方案--------------------
显然不行啊 JAVA的事件要获取焦点才能监听的
------解决方案--------------------
用JNI吧
------解决方案--------------------
别折腾了,在JAVA 里不行