1、资料:(我的文章)

  http://www.cnblogs.com/cppskill/p/8341263.html

2、

  2.1、界面

  2.2、代码

unit formMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Registry, IniFiles; type
TfrmMain = class(TForm)
btnRegeditWrite: TButton;
Memo1: TMemo;
btnRegeditRead: TButton;
edtJavaHome: TEdit;
procedure btnRegeditWriteClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnRegeditReadClick(Sender: TObject);
public
function ReadString( _dwRootKey :DWORD; const _strPath, _strKey :string; var _strOut : string):Integer;
function WriteString(_dwRootKey :DWORD; const _strPath, _strKey, _strValue :string):Integer;
public
function ReadIni():integer;
end; var
frmMain: TfrmMain; implementation {$R *.dfm} function TfrmMain.ReadString(_dwRootKey :DWORD; const _strPath, _strKey: string; var _strOut: string): Integer;
var reg :TRegistry;
begin
Result := ;
reg := TRegistry.Create;
try
reg.RootKey := _dwRootKey;//HKEY_LOCAL_MACHINE; //'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
if not reg.OpenKey( _strPath, false ) then
begin
Result := -;
Exit;
end; _strOut := reg.ReadString(_strKey);
finally
reg.CloseKey;
reg.Destroy;
end;
end; function TfrmMain.WriteString(_dwRootKey: DWORD; const _strPath, _strKey, _strValue: string): Integer;
var reg :TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := _dwRootKey;//HKEY_LOCAL_MACHINE; //'SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
if not reg.OpenKey( _strPath, false ) then
begin
Result := -;
Exit;
end; reg.WriteString( _strKey, _strValue );
finally
reg.CloseKey;
reg.Destroy;
end;
end; procedure TfrmMain.FormCreate(Sender: TObject);
begin
ReadIni;
btnRegeditReadClick(nil);
end; procedure TfrmMain.btnRegeditWriteClick(Sender: TObject);
var strValue :string;
begin
Memo1.Lines.Add('');
// HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Session Manager\Environment\path
// HKEY_CURRENT_USER \Environment
// HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment (官方) //strValue := 'C:\Program Files\Java\jdk1.8.0_152;AAA';
//strValue := 'C:\Program Files\Java\jdk1.8.0_152';
strValue := trim(edtJavaHome.Text);
if (strValue = '') then
begin
Memo1.Lines.Add('新的 JAVA_HOME 的值为空 .');
Exit;
end; if >WriteString(HKEY_LOCAL_MACHINE,
'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'JAVA_HOME', strValue) then
begin
Memo1.Lines.Add('注册表写入失败 .');
Exit;
end;
Memo1.Lines.Add('注册表写入成功 .');
end; procedure TfrmMain.btnRegeditReadClick(Sender: TObject);
var strValue :string;
begin
Memo1.Lines.Add(''); if ( > ReadString(HKEY_LOCAL_MACHINE,
'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'JAVA_HOME', strValue)) then
begin
Memo1.Lines.Add('读取 注册表 出错');
Exit;
end;
Memo1.Lines.Add('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\JAVA_HOME');
Memo1.Lines.Add(' '+strValue);
end; function TfrmMain.ReadIni(): integer;
var ini :Tinifile;
strX86, strX64 :string;
strFileName :string;
begin
strFileName := ExtractFilePath(Paramstr()) + '_EnvironmentVariable.ini';
ini := Tinifile.Create(strFileName);
try
strX86 := ini.ReadString('JAVA_HOME', 'Win7x86', '');
strX64 := ini.ReadString('JAVA_HOME', 'Win7x64', ''); Memo1.Lines.Add('JAVA_HOME(Win7x86) : '+strX86);
Memo1.Lines.Add('JAVA_HOME(Win7x64) : '+strX64);
finally
ini.Free;
end;
end; end.

  2.3、ini文件(_EnvironmentVariable.ini)

3、

4、

5、

环境变量.JAVA_HOME的更多相关文章

  1. JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解

    Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH.下面逐个分析. JAVA_HOME 指向的是JDK的安装路径,如C:\jdk1.5.0_06,在这路 ...

  2. [转]JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解

    [转] JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 - dreamman的日志 - 网易博客http://blog.163.com/dreamman_yx/blog/st ...

  3. JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)

    JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...

  4. java 环境变量java_home配置多加了 \ 导致zookeeper莫名其妙问题。

    平时开发其实不太用得到java_home.path.classpath之类的环境变量,但是在命令行下运行java则需要用上,所以配错就可能出现莫名其妙错误. 错误JAVA_HOME 配置:D:\Pro ...

  5. Java学习笔记二---设置环境变量JAVA_HOME,CLASSPATH,PATH

    1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到jdk的安装路径.方便搜索用到的类文件.方便搜索用到的可执行文件如java,java ...

  6. 安装jdk配置环境变量JAVA_HOME不起作用

    今天重新安装系统,需要装jdk,配置环境变量,于是先配置JAVA_HOME  D:\Program Files\Java\jdk1.8.0_144, 然后在配置path路径,但是cmd到dos命令行输 ...

  7. Java学习笔记2---设置环境变量JAVA_HOME,CLASSPATH,PATH

    1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到jdk的安装路径.方便搜索用到的类文件.方便搜索用到的可执行文件如java,java ...

  8. [转]Linux下修改/设置环境变量JAVA_HOME

    1. 永久修改,对所有用户有效  # vi /etc/profile //按键盘[Shift + g], 在profile文件最后添加下面的内容: export JAVA_HOME = /home/m ...

  9. Linux下修改/设置环境变量JAVA_HOME

    export设置只对当前的bash登录session有效.这是存在内存里面的.你可以写入文件一般的文件.之后source它.或者放到/etc/profile 等等的位置里,不同的地方效果不同. 1. ...

随机推荐

  1. xgb, lgb, Keras, LR(二分类、多分类代码)

    preprocess # 通用的预处理框架 import pandas as pd import numpy as np import scipy as sp # 文件读取 def read_csv_ ...

  2. Qt5

    最简单的分割窗体 #include <QApplication> #include <QLabel> #include <QSplitter> int main(i ...

  3. OO第三次阶段性总结

    一.规格化设计的历史以及人们重视的原因 发展历史 从20世纪60年代开始,就存在着许多不同的形式规格说明语言和软件开发方法.在形式规格说明领域一些最主要的发展过程列举如下: 1969-1972 C.A ...

  4. 54. Spiral Matrix(剑指offer--19)

    Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...

  5. <A Decomposable Attention Model for Natural Language Inference>(自然语言推理)

    http://www.xue63.com/toutiaojy/20180327G0DXP000.html 本文提出一种简单的自然语言推理任务下的神经网络结构,利用注意力机制(Attention Mec ...

  6. kail linux nmap命令

    可用于: 检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本) ---- ...

  7. java的时间处理

    采用joda.time库 gradle,可以简化calendar的 compile "joda-time:joda-time:2.7" 例子:http://blog.csdn.ne ...

  8. Codeforces 1146E Hot is Cold

    题意: 给出一个序列,有两种操作: \(>\;x\) 将大于\(x\)的数全都取负 \(<\;x\) 将小于\(x\)的数全都取负 最后输出序列中的所有数最后的状态 思路: 我们先考虑对于 ...

  9. Understanding Convolutional Neural Networks for NLP

    When we hear about Convolutional Neural Network (CNNs), we typically think of Computer Vision. CNNs ...

  10. Mocha describe 生命周期

    1 describe('test', function() { 2 // 在本测试块的所有测试用例之前执行且仅执行一次 3 before(function() { 4 5 }); 6 // 在本测试块 ...