Hola leyer,
       Te explico lo que tengo hecho:
1_ He creado la libreria Keylogger.dll
2_ He creado un proyecto con netBeans llamado "Prova"
3_ He copiado la dll en la carpeta C:\...\NetBeansProjects\Prova\src\prova
4_ He creado una classe dentro del proyecto llamada Keylogger, donde he copiado el codigo:
package prova;
public class Keylogger extends Thread {
   private boolean   running=true;
   private int       value =0;
   private native int get();
   static {
      System.loadLibrary("Keylogger");
      /**
       * Carga de la DLL
       */
      }
   @Override
   public synchronized void run(){
         while(running){
            value = get();
            /**
             * Optenemos la Tecla Precionada
             */
            System.out.println((char)value);
            /**
             * La Mostramos en la Salida Estandar
             */
         }
   }
}
5_ Una vez creado, he creado otra classe dentro del paquete llamada "Main", donde he escrito:
package prova;
public class Main {
   public static void main(String[] args) {
   new Keylogger().start();
   }
}
Así es como me queda en el netBeans:

6_ A partir de aquí, compilo con netBeans y no me da ningún error, pero cuando ejecuto, me da el siguiente error:
Exception in thread "Thread-0" java.lang.UnsatisfiedLinkError: prova.Keylogger.get()I
        at prova.Keylogger.get(Native Method)
        at prova.Keylogger.run(Keylogger.java:25)
Qué puedo hacer mal???
Gracias anticipadamente,
Rafel
P.D.: Si me quieres agregar en el hotmail (??????????) te puedo enviar el proyecto para ver si sabes lo que puedo hacer mal.
Adiós!!!!