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;
  }

相关文章推荐

四极管:读取注册表键值函数分析

函数:RegOpenKeyEx ;RegQueryValueEx 一、RegOpenKeyEx() 函数功能:打开一个指定的注册表键 2、函数原型: LONG RegOpenKeyEx(   ...

VBS写入较长的二进制注册表键值的方法

举个例子 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentV...
  • zm2714
  • zm2714
  • 2012年09月10日 11:48
  • 2196

注册表键值大全

  • 2013年04月03日 13:58
  • 57KB
  • 下载

注册表键值

注册表键值 Windows系统注册表项,通过编辑和修改可以改变或优化Windows操作系统相关功能和性能。 注册表概述 编辑 注册表(Registry;繁体...

【4招搞定注册表键值快速定位】

注册表是个重要而又神秘的东东,出于种种目的,我们可能时常需要对其进行修改。不过注册表文件比较庞大,而我们需要修改的键值一般都隐藏得比较深,如何快速定位到需要修改的地方就成了一个必须掌握的技巧。本文就向...

WIN CE下通过注册表键值控制RIL模块的扩展功能

本文为御风独舞原创,转载请注明出处:hi.baidu.com/roooy今天下午通过分析RIL的MDD层我发现,只要在在WIN CE的注册表中以下以下路径添加对应的键值可以实现RIL模块相关的一些扩展...
  • t_larry
  • t_larry
  • 2011年04月16日 12:01
  • 449

设置注册表键值的代码资源

  • 2010年07月01日 13:38
  • 62KB
  • 下载

IE安全选项的注册表键值

  • 2013年07月05日 12:14
  • 35KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 获取注册表键值
举报原因:
原因补充:

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