Bloqueio de Teclado

Ola,

Pessoal, tenho um Not com Win7 Ultimate 32bits, estou utilizando a biblioteca nlink para efetuar o bloqueio do teclado, porem ele não trava.
Coloquei a nlink.dll dentro da pasta system32 e mesmo assim não funciona.

package boqueiateclado;

import nlink.win32.DllClass;
import nlink.win32.DllMethod;
import nlink.win32.NLink;


public class Main {

    @DllClass
    public interface User32 {

        @DllMethod
        int BlockInput(boolean fBlock);
    }
    public static void main(String[] args) {
       User32 user32 = NLink.create(User32.class);
       user32.BlockInput(true);
       JOptionPane.showMessageDialog(null, "Bloqueio");
    }

}

Não conhecia esta biblioteca mas, será que não deve ser o local onde sua classe Java está? Talvez colocar na mesma pasta que a dll…(palpite)

2 Soluções:

  1. Rápida: Painel de Controle -> Contas de Usuário e Segurança Familiar -> Contas de Usuário -> Alterar configurações de controle de conta de usuário: deixar no nível mais baixo.

  2. Correta: elevar os direitos do programa (rodar como admin): http://technet.microsoft.com/en-us/magazine/2007.06.utilityspotlight.aspx?pr=blog. Neste caso, irá pedir permissão para o usuário executar como administrador.

Espero que ajude.

Abraços.

opa, consegui resolver.

O problema era uma dll que estava faltando no system32.

Atravez deste poste “http://www.guj.com.br/java/206564-registrar-dll-no-windows-7-seven-para-uso-de-jna” eu baixei o programa que verifica se esta faltando alguma dll que a dll que estou utilizando necessita. Verifiquei que estava faltando IEShims.dll que encontrei na propria maquina em “C:\Program Files\Internet Explorer”
Coloquei esta dll no system32 e funcionou legal.

Obrigado a todos!!