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. localhost和本机IP和127.0.0.1之间的区别

    参考出处:https://www.zhihu.com/question/23940717 localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0 ...

  2. Selenium - Css Selector 使用方法

    什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector可以下载火狐浏览器插件,FireFinder 或 FireBug和 ...

  3. stdcall cdecl

    一.stdcall windows API采用的都是这种方式 1.参数入栈由右向左 2.栈平衡由被调用者处理 二.cdcel C语言库采用的都是这种方式 1.参数入栈由右向左 2.栈平衡由调用者处理 ...

  4. java opencv使用相关

    Using OpenCV Java with Eclipse http://docs.opencv.org/2.4/doc/tutorials/introduction/java_eclipse/ja ...

  5. 排序-----插入排序(python版)

    直接插入排序的算法思路: (1) 设置监视哨r[0],将待插入纪录的值赋值给r[0]: (2) 设置开始查找的位置j: (3) 在数组中进行搜索,搜索中将第j个纪录后移,直至r[0].key≥r[j] ...

  6. Linux命令: touch tem.txt创建txt文件

    touch tem.txt 创建txt文件

  7. Unity中的 原生插件/平台交互 原理

    http://blog.csdn.net/u010019717/article/details/78451660 声明:  内容摘录自:  http://gad.qq.com/article/deta ...

  8. P4336 [SHOI2016]黑暗前的幻想乡

    P4336 [SHOI2016]黑暗前的幻想乡 矩阵树定理(高斯消元+乘法逆元)+容斥 ans=总方案数 -(公司1未参加方案数 ∪ 公司2未参加方案数 ∪ 公司3未参加方案数 ∪ ...... ∪ ...

  9. linux内核分析 第3章读书笔记

    第三章 进程管理 一.进程 1.进程 进程就是处于执行期的程序. 进程就是正在执行的程序代码的实时结果. 进程是处于执行期的程序以及相关的资源的总称. 进程包括代码段和其他资源. 2.线程 执行线程, ...

  10. DDR2是什么意思

    DDR2DDR2(Double Data Rate 2) SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时 ...