`

使用java修改windows注册表

阅读更多

项目中用到,整理如下:

 

方法1:利用java.util.prefs.Preferences

 

这是jdk里面内置的功能,利用prefs包,我们可以将跟程序相关的一些首选项保存在注册表中。关于这部分google上有很多,不再累述,但有一点需要说明的是,java prefs api把我们的信息存到哪里去了呢?

 

答案是:如果选用systemNode,则保存在[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs]下的子节点下面,如果选的是userNode....   则保存在[HKEY_CURRENT_USER\Software\JavaSoft\Prefs]下的子节点下面。

 

有兴趣深入研究的朋友可以看ibm developer上面的这篇文章:用 Preferences API 存储对象

 

优点:跨平台,到了linux上该方案仍然有效。

缺点:不能编辑注册表中的任意位置。

 

 

方法2:使用"regedit /s ×××.reg"导入写好的注册表文件

 

当然这个文件也可是你自动生成的。总之呢regedit会打开注册表编辑器,而regedit /s则会把你写好的注册表文件导入注册表中。这个注册表文件的功能也是很强大的,在里面你可以删除,也可以添加注册表中的内容。

 

关于这个reg文件的写法,可以参照微软上面的这篇文章:

如何通过使用注册项 (.reg) 文件添加、修改或删除注册表子项和值

 

优点:使用Runtime.exec()函数执行导入,嗷嗷easy。

缺点:不够灵活,只能导入指定的文件,即使你这个注册表文件是你动态生成的。但是在应用程序的安装与卸载过程中使用该方案还是比较不错的。

 

方法3: 使用第三方项目gdapi

 

以上两个方法都不适合你?看来你需要更加强大、灵活的东西,好吧,是jni上场的时候了,不过好在我们不用重新发明轮子,已经有人为我们做好了包装。gdapi便是其中之一。

 

他的链接为:http://gdapi.sourceforge.net/

下载地址为:http://sourceforge.net/project/showfiles.php?group_id=124229

 

我们要使用到他其中的com.ice.jni.registry.WindowsRegistry类

他的javadoc地址为:http://gdapi.sourceforge.net/api/com/ice/jni/registry/package-summary.html

 

不管是下载的打包文件,还是google上面,都有它的例子,很丰富。那么关于gdapi的介绍就到这里。

 

缺点:稍微需要你学习那么一小下,需要依赖第三方的jar包,甚至一些dll。

有点:更强大灵活。

 

其他方法:

 

在方法三中,我有意显式给出了gdapi的链接,目的是为了让大家一眼看出来他是sourceforge上的一个项目,其实类似的项目sourceforge上,以及别的组织上还有很多。比如jRegEdit, jRegistryKey, registry.... search with the key:windows registry on sourceforge hehe :)

 

enjoy.

the end.

分享到:
评论

相关推荐

    使用java修改windows注册表实用.pdf

    使用java修改windows注册表实用.pdf

    使用java修改windows注册表.doc

    使用java修改windows注册表

    使用java修改windows注册表.pdf

    使用java修改windows注册表.pdf

    JAVA操作windows注册表

    使用java对windows系统的注册表操作,修改各种需要的信息!

    主要原理是Java通过修改注册表实现的,简单、安全、可靠。.

    com.ice.jni.registry包是通过JNI(Java native interface)实现的Windows注册表操作API,可以用来访问、修改和导出Windows注册表。现在这个包已经公开了,可以放心的使用而不必担心license的问题,并且包括一个构建好...

    java 注册表读取与修改(registry.jar)

    能够读取和访问windows注册表 使用方法 将registry.jar加入类路径 将ICE_JNIRegistry.dll放到系统32目录下

    JAVA 修改MAC

    java修改mac地址,通过操作registry API 操作注册表

    qt通过修改windows 注册表,修改系统的网络代理.zip

    软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...

    Java教育管理信息系统和注册表操作

    通过注册表,用户可以修改系统设置、安装或卸载软件、更改默认程序等。 然而,对于普通用户来说,直接编辑注册表是有风险的,因为错误的修改可能导致系统不稳定甚至无法启动。所以,在编辑注册表之前,请一定要备份...

    Windows下Java环境变量设置工具

    打开工具选择JDK安装目录后,自动设置Windows下的Java_Home、Classpath、Path等信息,并具有一定的Path重复信息识别能力 需要修改系统注册表

    registry-3.1.3.zip

    这使得Java程序来访问,修改,并出口Windows注册表资源。 com.ice.jni.registry包已被置于公共领域。因此,你绝对不许可的要考虑的问题。你可以做你希望的任何代码。当然,我总是欣赏它时,你适当的信用我的工作。 ...

    JAVA上百实例源码以及开源项目

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    JAVA上百实例源码以及开源项目源代码

     使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...

    PPC JAVA模拟器 JMOPlus

    PPC上最标准的JAVA模拟器,支持所有按键和触摸屏。支持平台Windows CE/Windows Mobile,Windows CE 5.0测试通过。修改注册表后可直接运行jar文件。 修改注册表:在HKEY_CLASSES_ROOT下建子目录.jar,在.jar下建字符...

    java开源包8

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    Java环境变量配置工具

    Java环境变量配置工具,Java语言编写 可以配置 Java_Home, Jre_Home, Path, ClassPath, Tomcat_Home. 原理通过修改Windows注册表修改环境变量。

    java开源包4

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包101

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包11

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

Global site tag (gtag.js) - Google Analytics