java 注册表操作_java操作注册表实现开机启动 | 学步园

用java程序如何实现开机启动呢?因为java并没有像C一样有哪些已经写好了的API给你自由调用,那么我们怎么样才能用java来实现注册表的修改呢?我想到了两种方案:

方案一、我们可以调用C的方法,这里就用到了JNI(java native interface)。

方案二、可以用cmd命令行,在cmd命令行里面有一个reg命令,百度一下reg命令或在cmd里面输入“reg /? ”你就可以详细的知道该怎么做了。

JNI这里就不说了,因为这个以前我写过。主要说下第二种方案。

首先要明白在java里面怎么运行一个cmd命令行,这个查下API文档即可有这么一个静态方法java.lang.Runtime,Runtime调用方法Runtime.getRuntime().exec(String ags)。

然后我们来讨论下reg命令,修改注册表命令“reg add regkey /v appName /t re_sz /d path /f ”其中regkey是注册表的某一个节点(例如:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run),appName是注册项名字,reg_sz注册项数据类型,path应用程序路径。

public void changeStart(boolean isStartAtLogon) throws IOException{

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

String AppName = "MyApplication";

String Path = "\"C:\\MyApplication.exe\"";

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

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值