日期:2014-05-20  浏览次数:20800 次

JAVA操作注册表问题..
最近在看关于JAVA操作windows注册表的东西

在网上下了一个jRegistryKey,也找了一点示例代码
但是运行总是不成功..请各位朋友帮忙找下错误..谢谢
下面是代码:
package RegeditTest;

import ca.beq.util.win32.registry.*;

public class Test {

public Test() {
RegistryKey r = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE,//错误说是这儿的问题
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders");

System.out.println(r);

if (r.hasValue("Common Desktop")) {
RegistryValue v = r.getValue("Common Desktop");
System.out.println("Common Desktop = " + v.getStringValue());
}

// if(r.hasValues()) {
// Iterator i = r.values();
// while(i.hasNext()) {
// RegistryValue v = (RegistryValue)i.next();
// System.out.println(v.toString());
// } // while
// } // if
}

public static void main(String[] args) {
Test regtest = new Test();
}

}

然后下面是MyEclipse报的错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: ca.beq.util.win32.registry.RegistryKey.testInitialized()V
at ca.beq.util.win32.registry.RegistryKey.testInitialized(Native Method)
at ca.beq.util.win32.registry.RegistryKey.initialize(RegistryKey.java:271)
at ca.beq.util.win32.registry.RootKey.<clinit>(RootKey.java:88)
at RegeditTest.Test.<init>(Test.java:8)
at RegeditTest.Test.main(Test.java:28)


------解决方案--------------------
引用楼主 mykoma521 的帖子:
最近在看关于JAVA操作windows注册表的东西

在网上下了一个jRegistryKey,也找了一点示例代码
但是运行总是不成功..请各位朋友帮忙找下错误..谢谢
下面是代码:
package RegeditTest;

import ca.beq.util.win32.registry.*;

public class Test {

public Test() {
RegistryKey r = new RegistryKey(RootKey.HKEY_LOCAL_MACHINE,//错误说是这儿的问题
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Expl…