我是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();
}
}
编辑:使用Native.getLastError();我开始知道访问dll文件,我收到错误5(访问被拒绝).是否有任何可能的方式来获取访问权限,以便我可以使它工作?
最佳答案 如果您在Windows Vista或Windows 7上运行,则可能需要以管理员身份运行该程序.创建一个运行Java类的批处理文件,以简化操作.