禁用键盘和鼠标
问题描述:
我是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();
}
}
编辑:With Native.getLastError();我开始知道,访问dll文件的小丑我收到错误5(拒绝访问)。是否有任何可能的方式获得访问权限,以便我可以使其工作?
答
如果您在Windows Vista或Windows 7上运行,则可能需要以管理员身份运行该程序。制作一个运行Java类的批处理文件,使事情变得更简单。
+0
尝试过但尚未解决:( – xyz 2012-02-11 07:34:23
检查返回值。如果它是0(零),那么出错了,你应该通过GetLastError得到错误代码。请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/ms646290%28v=vs.85%29.aspx – belgther 2012-02-10 09:55:36
@belgther亚感谢我得到了错误号。 5(拒绝访问)..你可以告诉我,如果有任何可能的方式获得访问。 – xyz 2012-02-10 10:31:00