`

java 修改 Windows 注册表zz

阅读更多

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.

 

转自:http://www.iteye.com/topic/605433

 

分享到:
评论

相关推荐

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

    - 创建一个包含所需注册表修改内容的`.reg`文件。 - 通过Java的`Runtime.exec()`函数执行`regedit /s path_to_reg_file`命令。 4. **优缺点**: - **优点**:实现简单;支持复杂的注册表修改需求。 - **缺点**...

    JAVA访问WINDOWS注册表

    在编程领域,有时我们需要在Java程序中访问操作系统的特定功能,比如Windows的注册表。注册表是Windows系统中存储配置信息的重要数据库,包含了系统设置、应用程序数据和用户配置等信息。本文将详细介绍如何使用Java...

    JAVA操作windows注册表

    首先,由于Java本身并不直接支持对Windows注册表的访问,我们需要借助第三方库,如`JRegistryKey`,这是一个开源的Java库,允许开发者通过Java代码读取和修改Windows注册表。要使用这个库,你需要将其导入到你的项目...

    JAVA对WINDOWS注册表进行增删查

    ### JAVA对WINDOWS注册表进行增删查 #### 概述 在Windows操作系统中,注册表(Registry)扮演着核心配置数据库的角色,存储了系统和应用程序的设置与选项。通过使用Java编程语言,开发者可以实现对注册表的增、删...

    Java操作windows注册表

    另一种方法是直接执行注册表编辑器命令,如`regedit /s regfile.reg`,其中`regfile.reg`是一个包含注册表修改指令的文本文件。这种方法虽然简单直接,但灵活性较低,且需要处理权限问题,因为直接修改注册表可能...

    Java直接访问Windows注册表

    Jave的Preferences只在Software\JavaSoft\Prefs操作,反射WindowsPreferences能够操作Windows注册表的其他节点. 方法: 1.public static void put(int root,String path,String key,String val) 2.public static ...

    使用java修改windows注册表.pdf

    ### 使用Java修改Windows注册表的关键知识点 #### 一、引言 在开发涉及系统级配置的应用时,常常需要对Windows注册表进行操作。Java作为一种跨平台的语言,提供了多种方式来实现这一需求。本文将详细介绍三种主要的...

    使用java修改windows注册表.doc

    ### 使用Java修改Windows注册表的关键知识点 #### 一、引言 在开发涉及系统级配置的应用时,常常需要对Windows注册表进行操作。Java作为一种跨平台的语言,提供了多种方式来实现这一需求。本文将详细介绍使用Java...

    Java Windows 操作注册表

    通过以上步骤,我们可以利用Java有效地读取和修改Windows注册表。这个过程涉及到对JNA库的使用,以及对Windows API的理解。对于复杂的注册表操作,可能还需要处理其他数据类型,如REG_BINARY、REG_DWORD等。在实际...

    使用Java操作Windows注册表

    在Java编程环境中,有时我们需要对Windows系统的注册表进行读写操作,这在处理特定的系统配置或应用程序设置时尤其有用。Java从JDK 1.4版本开始引入了一个名为`Preferences`的类,该类提供了方便的方式来管理和操作...

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

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

    java如何操作注册表源代码

    通过 Java 来操作注册表,我们可以实现跨平台的程序在 Windows 上对系统配置进行读取和修改。 在 Java 中操作注册表,通常需要借助第三方库,例如 JRegistryKey,这是一个开源的 Java 注册表库,它允许 Java 应用...

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

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

    java读取注册表信息

    Java语言在处理操作系统级别的任务时,虽然不如C++或Python那样直接,但通过特定的库和API,也可以实现对Windows注册表的读取。在这个场景中,我们需要关注的核心知识点是Java如何与Windows系统进行交互,特别是如何...

    Java修改注册表

    "Java修改注册表"这个主题涉及到的是如何使用Java来操作Windows系统的注册表,这是一个相对复杂的任务,因为注册表是操作系统的核心组成部分,存储了系统配置、软件设置等关键信息。下面将详细介绍如何在Java中实现...

    Windows注册表修改实例完全手册

    《Windows注册表修改实例完全手册》是一本深入探讨Windows操作系统中注册表修改技术的专业书籍,旨在帮助用户理解和掌握通过编辑注册表来优化、修复或定制系统功能的方法。注册表是Windows系统的核心数据库,存储了...

    Java操作注册表插件

    在Windows上,Java开发者可能会遇到需要读取或修改注册表键值的情况,这时就需要借助特定的库或插件来实现。"Java操作注册表插件"就是这样的工具,它允许Java程序与Windows注册表进行交互。 在Java中,直接操作...

    注册表对比工具-Windows注册表对比

    Windows、WinSer另一款注册表对比神器,中文界面,界面UI符合国人日常使用习惯,运维、系统、桌面等技术或非技术人员可以轻松上手,清晰比对程序、软件等安装前后注册表变化情况;支持快照、搜索、书签等,同时支持...

    java_修改注册表

    这篇博文“java_修改注册表”可能探讨了如何利用Java来操作Windows系统的注册表,这是一个相对高级的话题,因为注册表是操作系统中的核心组成部分,存储着系统和应用程序的配置信息。 首先,我们要明白Java本身并不...

Global site tag (gtag.js) - Google Analytics