java修改注册表_Java 修改Windows注册表,以实现开机自启动应用程序。

packageday01;importjava.io.IOException;/*1,reg add 将新的子项或项添加到注册表中

语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f]

参数

KeyName

指定子项的完全路径。对于远程计算机,请在\\ComputerName\PathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。远程机器上只有 HKLM 和 HKU。

值 说明

HKCR: HKEY_CLASSES_ROOT

HKCU: HKEY_CURRENT_USER

HKLM: HKEY_LOCAL_MACHINE

HKU: HKEY_USERS

HKCC: HKEY_CURRENT_CONFIG

/v EntryName

指定要添加到指定子项下的项名称。

/ve

指定添加到注册表中的项为空值。

/t DataType

指定项值的数据类型。DataType可以是以下几种类型:

REG_SZ

REG_MULTI_SZ

REG_DWORD_BIG_ENDIAN

REG_DWORD

REG_BINARY

REG_DWORD_LITTLE_ENDIAN

REG_LINK

REG_FULL_RESOURCE_DESCRIPTOR

REG_EXPAND_SZ

/s separator

指定用于分隔多个数据实例的字符。当REG_MULTI_SZ指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔符为"\0"。

/d value

指定新注册表项的值。

/f

不用询问信息而直接添加子项或项。

/?

在命令提示符显示帮助。

注释

该操作不能添加子树。该版本的Reg在添加子项时无需请求确认。

下表列出了reg add操作的返回值。值说明

0成功

1失败*/

public classTest00 {/*** Reg 参数说明

* /v 所选项之下要添加或删除的值名

* /t RegKey 数据类型(reg_sz字符串)

* /d 要分配给添加的注册表 ValueName 的数据

* /f 不用提示就强行删除*/

public static void changeStart(boolean isStartAtLogon) throwsIOException{

String regKey= "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";

String myAppName= "mgtest";

String exePath= "\"D:\\Program Files (x86)\\love\\HelloWorld.exe\"";

Runtime.getRuntime().exec("reg "+(isStartAtLogon?"add ":"delete ")+regKey+" /v "+myAppName+(isStartAtLogon?" /t reg_sz /d "+exePath:" /f"));

}public static void main(String[] args) throwsIOException {try{

changeStart(true);

}catch(IOException e) {//changeStart(false);

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值