zoukankan      html  css  js  c++  java
  • 使用Java修改Windows注册表

    使用Java修改Windows注册表,使用最基本的就是cmd命令。

    事例和运行结果如下所示:

     1 package day01;
     2 
     3 import java.io.IOException;
     4 /*
     5  1,reg add 将新的子项或项添加到注册表中 
     6   语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f] 
     7   参数 
     8   KeyName 
     9   指定子项的完全路径。对于远程计算机,请在\ComputerNamePathToSubkey中的子项路径前包含计算机名称。忽略ComputerName会导致默认对本地计算机进行操作。以相应的子目录树开始路径。有效子目录树为HKLM、HKCU、HKCR、HKU以及HKCC。远程机器上只有 HKLM 和 HKU。 
    10   值 说明 
    11   HKCR: HKEY_CLASSES_ROOT 
    12   HKCU: HKEY_CURRENT_USER 
    13   HKLM: HKEY_LOCAL_MACHINE 
    14   HKU: HKEY_USERS 
    15   HKCC: HKEY_CURRENT_CONFIG 
    16 
    17   /v EntryName 
    18   指定要添加到指定子项下的项名称。 
    19   /ve 
    20   指定添加到注册表中的项为空值。 
    21   /t DataType 
    22   指定项值的数据类型。DataType可以是以下几种类型: 
    23   REG_SZ 
    24   REG_MULTI_SZ 
    25   REG_DWORD_BIG_ENDIAN 
    26   REG_DWORD 
    27   REG_BINARY 
    28   REG_DWORD_LITTLE_ENDIAN 
    29   REG_LINK 
    30   REG_FULL_RESOURCE_DESCRIPTOR 
    31   REG_EXPAND_SZ 
    32 
    33   /s separator 
    34   指定用于分隔多个数据实例的字符。当REG_MULTI_SZ指定为数据类型且需要列出多个项时,请使用该参数。如果没有指定,将使用默认分隔符为""。 
    35   /d value 
    36   指定新注册表项的值。 
    37   /f 
    38   不用询问信息而直接添加子项或项。 
    39   /? 
    40   在命令提示符显示帮助。 
    41 
    42   注释 
    43   该操作不能添加子树。该版本的Reg在添加子项时无需请求确认。 
    44   下表列出了reg add操作的返回值。值说明 
    45   0成功 
    46   1失败 
    47  */
    48 public class Test00 {
    49      /** 
    50       * Reg 参数说明 
    51       * /v       所选项之下要添加或删除的值名 
    52       * /t       RegKey 数据类型(reg_sz字符串) 
    53       * /d       要分配给添加的注册表 ValueName 的数据 
    54       * /f       不用提示就强行删除 
    55       */  
    56      public static void changeStart(boolean isStartAtLogon) throws IOException{  
    57       String regKey = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run";  
    58       String myAppName = "mgtest";  
    59       String exePath = ""D:\Program Files (x86)\love\HelloWorld.exe"";  
    60       Runtime.getRuntime().exec("reg "+(isStartAtLogon?"add ":"delete "+regKey+" /v "+myAppName+(isStartAtLogon?" /t reg_sz /d "+exePath:" /f"));  
    61      }  
    62        
    63      public static void main(String[] args) throws IOException {  
    64            try {
    65             changeStart(true);
    66         } catch (IOException e) {
    67             //changeStart(false);
    68             e.printStackTrace();
    69         }
    70      }  
    71   
    72 }
    View Code

  • 相关阅读:
    高性能MySQL--创建高性能的索引
    error:0906D064:PEM routines:PEM_read_bio:bad base64 decode
    高性能MySQL--MySQL数据类型介绍和最优数据类型选择
    Elasticsearch入门和查询语法分析(ik中文分词)
    裁员浪潮,互联网人该何去何从?
    django+mysql的使用
    很详细的Django入门详解
    (2021年1月5日亲测有效)最新PyCharm 安装教程&激活破解,Pycharm激活,Pycharm破解
    (2021年1月5日更新)!最新的pycharm永久激活办法,亲测有效
    太干了!一张图整理了 Python 所有内置异常
  • 原文地址:https://www.cnblogs.com/taleche/p/5121550.html
Copyright © 2011-2022 走看看