2012-02-10 39 views
4

私はJNAの初心者です。このコードはwin7でdllファイルを呼び出して入力をブロックすることになっています。しかし、このコードを実行すると、何も起こりません。コンパイルエラーはなく、キーボードとマウスがブロックされない理由がわかりません。私を案内してください。キーボードとマウスの無効化

public class BlockInput { 
    public static void main(String[] args) { 
     NativeLibrary lib = NativeLibrary.getInstance("user32"); 
     Function fun = lib.getFunction("BlockInput"); 
     System.out.println("Lib :" + lib + ".\nFun " + fun + "."); 
     fun.invoke(new Object[]{Boolean.TRUE}); 
     try { 
      Thread.sleep(10000); 
     } catch(InterruptedException ie) {} 
     lib.dispose(); 
    } 
} 

EDIT:Native.getLastError付();私はwhickがdllファイルにアクセスしていることを知りました。エラー5(アクセスが拒否されました)を受け取りました。アクセスを得る方法はありますか?

+1

戻り値を確認してください。それが0(ゼロ)の場合、何かが間違っていて、GetLastErrorでエラーコードを取得する必要があります。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms646290%28v=vs.85%29.aspx – belgther

+0

@ belgther yaありがとう、私はエラーはありません。 5(アクセスが拒否されました)..アクセスを取得する方法があれば教えてください。 – xyz

答えて

2

Windows VistaまたはWindows 7で実行している場合は、管理者としてプログラムを実行する必要があります。 Javaクラスを実行するバッチファイルを作成して、作業を容易にします。

+0

は試しましたが、まだ解決されていません:( – xyz

0

これを試す - Java用ネイティブグローバルキーボードとマウスリスナー。

関連する問題