Java修改注册表设置程序(exe)开机启动(Swing)

本文介绍了一个使用Java Swing实现的简单应用程序,该程序允许用户通过一个界面选择是否让程序随系统启动而自动运行。通过修改注册表键值来实现开机启动功能。
import java.awt.*;
import java.awt.event.*; 
import java.io.*;
import javax.swing.*; 

public class test {
 public void init(){
  JFrame.setDefaultLookAndFeelDecorated(true); 
        JFrame frame = new JFrame("测试开机启动");
        frame.setLayout(new FlowLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        JCheckBox check = new JCheckBox();
        check.setText("开机自动启动");
        check.addItemListener(new ItemListener() {
   public void itemStateChanged(ItemEvent e) {
       JCheckBox cb = (JCheckBox) e.getSource();
       try {
     changeStart(cb.isSelected());
    } catch (IOException e1) {
     e1.printStackTrace();
    }

   }
  });
        frame.getContentPane().add(check);

        //显示窗体
        frame.setSize(200,300);
        frame.setVisible(true);
 }
 /**
  * Reg 参数说明
  * /v       所选项之下要添加或删除的值名
  * /t       RegKey 数据类型(reg_sz字符串)
  * /d       要分配给添加的注册表 ValueName 的数据
  * /f         不用提示就强行删除
  */
  public void changeStart(boolean isStartAtLogon) throws IOException{
	  String regKey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
	  String myAppName = "MyApp";
	  String exePath = "C:\\price\\price.exe";//开机启动程序本地目录
	  Runtime.getRuntime().exec("reg "+(isStartAtLogon?"add ":"delete ")+regKey+" /v "+myAppName+(isStartAtLogon?" /t reg_sz /d "+exePath:" /f"));
  }
 
    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new test().init();
            }
        });
    }
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值