如题,怎样用java实现系统的鼠标钩子,想监听操作员的鼠标操作信息。网上找了下,只发现有其它语言的鼠标钩子实现,没有找到java版的实现,有的告诉下。

解决方案 »

  1.   

    因为JAVA程序是运行在虚拟机上的
    所以虚拟机意外的实景JAVA程序就无能为力了 
    如果非要用JAVA写 你就用JNI
    但是核心的部分还是要用其他语言完成
      

  2.   

    只有一个关闭挂钩  别的没有了,jni吧
    //JVM关闭时执行下列线程的方法  
                       Runtime.getRuntime().addShutdownHook(new Thread(){  
                  public void run(){  
                      System.out.println("jvm is close");  
                  }  
            });  
      

  3.   

    通过jni调用C,没具体做过,说下想法~
      

  4.   

    用JNA,刚写了一个,参考下
    http://blog.csdn.net/penngo/archive/2010/12/17/6081283.aspx
      

  5.   


    恩 这是java唯一的钩子。 另别让java干所有的事,底层的他不擅长。
      

  6.   


    他是想监视整个系统的鼠标事件,UI对象的鼠标事件只能在UI内有效,假如不在UI内容,就要通过钩子方式监控系统的鼠标才行。
    JNA调用win32 API还是很方便的。
      

  7.   

    除了使用JNA的方法,不知还有人介绍更好的方法不?