java 获取注册表键值

原创 2015年11月17日 23:32:40

    /**
     *
     * @param location path in the registry
     * @param key registry key
     * @return registry value or null if not found
     */

public static final String readRegistry(String location, String key)
{
  try
  {
      // Run reg query, then read output with StreamReader (internal class)
      Process process = Runtime.getRuntime().exec("reg query " +
              '"'+ location + "\" /v " + key);

      InputStream is = process.getInputStream();
      StringBuilder sw = new StringBuilder();

      try
      {
         int c;
         while ((c = is.read()) != -1)
             sw.append((char)c);
      }
      catch (IOException e)
      {
      }

      String output = sw.toString();

      // Output has the following format:
      // \n<Version information>\n\n<key>    <registry type>    <value>\r\n\r\n
      int i = output.indexOf("REG_SZ");
      if (i == -1)
      {
          return null;
      }

      sw = new StringBuilder();
      i += 6; // skip REG_SZ

      // skip spaces or tabs
      for (;;)
      {
         if (i > output.length())
             break;
         char c = output.charAt(i);
         if (c != ' ' && c != '\t')
             break;
         ++i;
      }

      // take everything until end of line
      for (;;)
      {
         if (i > output.length())
             break;
         char c = output.charAt(i);
         if (c == '\r' || c == '\n')
             break;
         sw.append(c);
         ++i;
      }

      return sw.toString();
  }
  catch (Exception e)
  {
      return null;
  }

批处理(DOS)获取注册表键值

参考了http://tieba.baidu.com/f?kz=974479676@echo off Setlocal enabledelayedexpansion for /f "ski...
  • andrew_85
  • andrew_85
  • 2011年06月16日 10:35
  • 4695

使用命令修改注册表键值及权限

很多时候,你可能需要对注册表的某些项进行权限的修改,以便进行管理,如对注册表中的启动项授予只读权限,这样可以避免病毒的感染随开机自动启动(当然这种修改run来自启动的病毒越来越少了,一般现在都是修改驱...
  • qq125096885
  • qq125096885
  • 2016年06月17日 17:14
  • 1204

读取注册表键值

#include #include #include using namespace std; int keyvalue(char* a)//获取键值函数 { if(a[0]=='\0') { ...
  • u011263315
  • u011263315
  • 2015年01月07日 11:42
  • 819

DOS获取注册表键值

DOS获取注册表键值 dos操作注册表 DOS处理字符串
  • andrew_85
  • andrew_85
  • 2010年12月25日 11:33
  • 2902

利用InstallShield获取注册表键值

/* written by Jaron ,2002-07-03 *//* 原出处:江都资讯网论坛 http://www.jiangdu.net/bbs *//* 转载请注明出处和保留此版权信息 *//...
  • Jaron
  • Jaron
  • 2003年07月14日 16:18
  • 1518

java 读写注册表总结

=======java读写注册表=======java读写注册表需要用到两种方式:1. java.util.prefs.* 中的包   其中 Preferences.systemRoot() 得到的是...
  • xinyueyuli
  • xinyueyuli
  • 2009年04月22日 21:37
  • 3913

获取注册表键值并格式转换

目的:需要获取注册表键值,内容是GUID,类型是REG_SZ, 然后再将这个GUID与另一个地址拼成一个新的注册表路径,RegOpenKeyW的路径格式要求为LPCSTR。 这里把获取到的GUID...
  • lotus1222
  • lotus1222
  • 2018年01月17日 14:22
  • 27

查询、创建、设置注册表键值的示例代码

示例代码将在注册表位置:HKEY_CURRENT_USER\Software\  读写键值 bool LicenseManage::OpenRegKey(HKEY& hRetKey) { i...
  • timothy721
  • timothy721
  • 2014年04月29日 14:44
  • 3575

如何从注册表读一个键值出来(C代码)?

这里需要用到三个API函数: RegOpenKeyEx
  • sunmingming512
  • sunmingming512
  • 2014年04月17日 10:01
  • 4720

Vc 枚举注册表键值名

  void  CEnumRegValueDlg::OnEnum() {      HKEY     lKey;                       //定义一个键的句柄,用于存储被打开的键 ...
  • lltaoyy
  • lltaoyy
  • 2010年08月18日 10:51
  • 4031
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 获取注册表键值
举报原因:
原因补充:

(最多只允许输入30个字)