Java 之注册表操作
来源:互联网 发布:淘宝打不开卖家店铺 编辑:程序博客网 时间:2024/05/26 22:05
Windows Registry API Native Interface下载地址 http://www.trustice.com/java/jnireg/index.shtml 下 registry-3.1.3.zip(包含源代码)。解开 registry-3.1.3.zip,在 bin 目录中可以看到两个文件 ICE_JNIRegistry.dll 和registry.jar,动态库就是本地代码实现。
import com.ice.jni.registry.*;
import java.text.SimpleDateFormat;
/**
* java 操作注册表
* @author 李志远
*/
public class RegeditTool {
static SimpleDateFormat shortDateFormat = new SimpleDateFormat
("yyyy-MM-dd");
/** Creates a new instance of test */
// 把信息存储到注册表HKEY_LOCAL_MACHINE下的某个节点的某一变量中,有则
修改,无则创建
public static boolean setValue(String folder, String subKeyNode,
String subKeyName, String subKeyValue) {
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
RegistryKey subKey = software.createSubKey(subKeyNode, "");
subKey
.setValue(new RegStringValue(subKey, subKeyName,
subKeyValue));
subKey.closeKey();
return true;
} catch (NoSuchKeyException e) {
e.printStackTrace();
} catch (NoSuchValueException e) {
e.printStackTrace();
} catch (RegistryException e) {
e.printStackTrace();
}
return false;
}
// 删除注册表中某节点下的某个变量
public static boolean deleteValue(String folder, String subKeyNode,
String subKeyName) {
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
RegistryKey subKey = software.createSubKey(subKeyNode, "");
subKey.deleteValue(subKeyName);
subKey.closeKey();
return true;
} catch (NoSuchKeyException e) {
System.out.println("NOsuchKey_delete");
} catch (NoSuchValueException e) {
System.out.println("NOsuchValue_delete");
} catch (RegistryException e) {
e.printStackTrace();
}
return false;
}
// 删除注册表中某节点下的某节点
public static boolean deleteSubKey(String folder, String
subKeyNode) {
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
software.deleteSubKey(subKeyNode);
software.closeKey();
return true;
} catch (NoSuchKeyException e) {
e.printStackTrace();
} catch (RegistryException e) {
e.printStackTrace();
}
return false;
}
// 打开注册表项并读出相应的变量名的值
public static String getValue(String folder, String subKeyNode,
String subKeyName) {
String value = "";
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
RegistryKey subKey = software.openSubKey(subKeyNode);
value = subKey.getStringValue(subKeyName);
subKey.closeKey();
} catch (NoSuchKeyException e) {
value = "NoSuchKey";
// e.printStackTrace();
} catch (NoSuchValueException e) {
value = "NoSuchValue";
// e.printStackTrace();
} catch (RegistryException e) {
e.printStackTrace();
}
return value;
}
// 测试
public static void main(String[] args) {
setValue("SOFTWARE", "Microsoft\\Windows\\CurrentVersion\\Run",
"test",
"C:\\1.exe");
}
}
import com.ice.jni.registry.*;
import java.text.SimpleDateFormat;
/**
* java 操作注册表
* @author 李志远
*/
public class RegeditTool {
static SimpleDateFormat shortDateFormat = new SimpleDateFormat
("yyyy-MM-dd");
/** Creates a new instance of test */
// 把信息存储到注册表HKEY_LOCAL_MACHINE下的某个节点的某一变量中,有则
修改,无则创建
public static boolean setValue(String folder, String subKeyNode,
String subKeyName, String subKeyValue) {
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
RegistryKey subKey = software.createSubKey(subKeyNode, "");
subKey
.setValue(new RegStringValue(subKey, subKeyName,
subKeyValue));
subKey.closeKey();
return true;
} catch (NoSuchKeyException e) {
e.printStackTrace();
} catch (NoSuchValueException e) {
e.printStackTrace();
} catch (RegistryException e) {
e.printStackTrace();
}
return false;
}
// 删除注册表中某节点下的某个变量
public static boolean deleteValue(String folder, String subKeyNode,
String subKeyName) {
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
RegistryKey subKey = software.createSubKey(subKeyNode, "");
subKey.deleteValue(subKeyName);
subKey.closeKey();
return true;
} catch (NoSuchKeyException e) {
System.out.println("NOsuchKey_delete");
} catch (NoSuchValueException e) {
System.out.println("NOsuchValue_delete");
} catch (RegistryException e) {
e.printStackTrace();
}
return false;
}
// 删除注册表中某节点下的某节点
public static boolean deleteSubKey(String folder, String
subKeyNode) {
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
software.deleteSubKey(subKeyNode);
software.closeKey();
return true;
} catch (NoSuchKeyException e) {
e.printStackTrace();
} catch (RegistryException e) {
e.printStackTrace();
}
return false;
}
// 打开注册表项并读出相应的变量名的值
public static String getValue(String folder, String subKeyNode,
String subKeyName) {
String value = "";
try {
RegistryKey software = Registry.HKEY_LOCAL_MACHINE
.openSubKey(folder);
RegistryKey subKey = software.openSubKey(subKeyNode);
value = subKey.getStringValue(subKeyName);
subKey.closeKey();
} catch (NoSuchKeyException e) {
value = "NoSuchKey";
// e.printStackTrace();
} catch (NoSuchValueException e) {
value = "NoSuchValue";
// e.printStackTrace();
} catch (RegistryException e) {
e.printStackTrace();
}
return value;
}
// 测试
public static void main(String[] args) {
setValue("SOFTWARE", "Microsoft\\Windows\\CurrentVersion\\Run",
"test",
"C:\\1.exe");
}
}
0 0
- Java 之注册表操作
- java 之 注册表操作篇
- java操作注册表
- java 操作注册表
- JAVA操作windows注册表
- 用java操作注册表
- java注册表操作
- Java操作Windows注册表
- Java如何操作注册表
- java 操作注册表
- java操作注册表
- 用java操作注册表
- java操作注册表
- java 注册表操作
- JAVA操作注册表
- java操作注册表
- Java操作Window注册表
- Java之修改注册表
- __main函数的由来及做了哪些事情(在stm32复位后会调用这个函数)
- JAVA进阶8.7——事件处理(4)鼠标事件
- 关于Linq的ToList(),IEnumerable,IQueryable
- JS垫脚石-DOM篇1
- poi完美word转html(表格、图片、样式)
- Java 之注册表操作
- openbts自启动程序在ubuntu中是如何实现的?
- 使用coe_xfr_sql_profile 绑定执行计划简单练习
- 聚合数据火车票订票接口完成火车票订票流程(PHP)
- 应用发布到Apple store后如何分享给用户下载
- 四六级作文高分仿句来袭,赶快收藏吧————英语
- android 屏幕适配
- IOS 开发之 symbolicatecrash工具使用
- 转:Redis使用认证密码登录