java设置环境变量小工具
- unit MainUnit;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, Registry;
- type
- TfrmMain = class(TForm)
- btn1: TButton;
- edt1: TEdit;
- lbl1: TLabel;
- procedure btn1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- frmMain: TfrmMain;
- function ExpandEnvironment(const strValue: string): string;
- function SetGlobalEnvironment(const envName, envValue: string; const isUser: Boolean = True): Boolean;
- implementation
- {$R *.dfm}
- procedure TfrmMain.btn1Click(Sender: TObject);
- var
- path:string;
- begin
- SetGlobalEnvironment('JAVA_HOME',edt1.Text);
- SetGlobalEnvironment('CLASSPATH','.;%JAVA_HOME%/jre/lib/rt.jar;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib;');
- path := ExpandEnvironment('%PATH%');
- path := path + ';%JAVA_HOME%/bin';
- SetGlobalEnvironment('PATH',path);
- end;
- /// <summary>
- /// 设置系统级环境变量参数函数
- /// </summary>
- /// <param name="envName">环境变量名</param>
- /// <param name="envValue">环境变量值</param>
- /// <param name="isUser">为true表示只更新当前操作员的环境变量</param>
- /// <returns></returns>
- function SetGlobalEnvironment(const envName, envValue: string; const isUser: Boolean = True): Boolean;
- resourcestring
- REG_MLOCATION ='System/CurrentControlSet/Control/Session Manager/Environment'; // 环境变量存储在注册表中的位置
- REG_ULOCATION = 'Environment';
- begin
- with TRegistry.Create do
- try
- if isUser then // 设置当前用户的环境变量
- Result := OpenKey(REG_ULOCATION, True)
- else // 设置系统环境变量,对所有用户有效
- begin
- RootKey := HKEY_LOCAL_MACHINE;
- Result := OpenKey(REG_MLOCATION, True);
- end;
- if Result then
- begin
- WriteString(envName, envValue); // 设置注册表中环境变量的值
- SetEnvironmentVariable(PChar(envName), PChar(envValue)); // 更新当前进程的环境变量值
- SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, , Integer(PChar('Environment')));
- // 发送消息通知所有上层的窗口,环境参数发生变化
- end;
- finally
- Free;
- end;
- end;
- /// <summary>
- /// 获取环境变量
- /// </summary>
- /// <param name="strValue">环境变量名</param>
- /// <returns>环境变量值</returns>
- function ExpandEnvironment(const strValue: string): string;
- var
- chrResult: array[..] of Char;
- wrdReturn: DWORD;
- begin
- wrdReturn := ExpandEnvironmentStrings(PChar(strValue), chrResult, );
- if wrdReturn = then
- Result := strValue
- else
- begin
- Result := Trim(chrResult);
- end;
- end;
- end.
java设置环境变量小工具的更多相关文章
- JAVA设置环境变量和在DOS下运行java程序
在学校实训的这几天,老师带着我们开始深入的复习java.这是第一天的内容哦 对于“JAVA设置环境变量和在DOS下运行java程序”,许多初学者是陌生的,但了解这个却对后期的学习很重要. http:/ ...
- Java设置环境变量
客上转过来的. 非常多人写了非常久java代码.还不知道环境变量是怎么一回事.科普一下. 一.java设置环境变量 - 精简版 1.右键打开我的电脑->属性->高级->环境变量 ...
- Java设置环境变量的含义(JAVA_HOME,PATH,CLASSPATH)
开发Java程序之前,需要在计算机行安装并配置Java开发环境.一种是直接安装Myeclipse,利用其自带的JDK编译运行:另一种是在我们的Windows或者Linux平台下安装JDK,配置环境变量 ...
- 一键设置Fluent环境变量小程序
使用视频教程优酷播放地址: https://v.youku.com/v_show/id_XNDU2MTkwNDg5Mg==.html?spm=a2hzp.8244740.0.0 一键设置环境变量小软件 ...
- windows7设置java的环境变量
win7 下配置 java 环境变量 首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以 ...
- Java学习笔记二---设置环境变量JAVA_HOME,CLASSPATH,PATH
1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到jdk的安装路径.方便搜索用到的类文件.方便搜索用到的可执行文件如java,java ...
- java安装及设置环境变量
目录: java安装 (找不到或无法加载主类 com.sun.tools.javac.Main) 设置环境变量 maven安装及环境变量设置 1. java安装 情景:不使用默认安装 问题:cmd-j ...
- Debian 9安装java与设置环境变量
安装默认JRE / JDK 先更新软件包索引: apt update 检查是否已安装Java: java -version 如果当前未安装Java,您将看到以下输出: Output-bash: jav ...
- Windows一键设置环境变量(以设置java环境变量为例)
右击以管理员方式运行 JDKSetting.bat @echo off color 0a echo.------------------------------------ echo.TODO:设 ...
随机推荐
- HTML-002-弹出对话框
日常的网页编程中,弹出对话框经常会以各种形式出现,例如:信息提示框.确认框.新增.修改信息等对话框均是其不同的表现形式. 此文以弹出信息新增对话框进行简要演示,经请参阅! 以下为其对应的结构目录: a ...
- jquery中奖实例代码
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...
- malloc函数和其他内存分配函数
1. 需要包含头文件:#i nclude 或 #i nclude 函数声明(函数原型): void *malloc(int size); 说明:malloc 向系统申请分配指定size个字节的内存空间 ...
- C# 值类型和引用类型及参数传递
值类型和引用类型: C#数据类型分为两大类:值类型和引用类型. 值类型数据主要有:结构体struct,枚举体enum,布尔型bool,浮点型,整型. 引用类型数据主要有:数组,字符串,接口,委托,类. ...
- SQLServer找出执行慢的SQL语句
SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总花费时间ms' , ...
- gdb使用_转
在编程调试中,经常出现段错误,此时可用gdb调试.具体方法为注册段错误信号处理函数,在处理函数中启动gdb.具体代码如下:void segv_handler(int no) { char buf[51 ...
- [RGEOS]支持栅格数据读取和显示
SharpMap真的很强大,这里通过改造GdalRasterLayer类实现了在RGeos项目中支持栅格图像的读取和显示,同时支持影像的无级缩放. GdalRasterLayer通过读取FWTools ...
- ARC Rules
To write and compile source code for ARC, you have to take care of a few things. Just by following t ...
- 查看iOS视图层级并修改UIsearchBar的cancel按钮不失去作用
(lldb) po [self.searchBar recursiveDescription] <UISearchBar: ; ); text = 'p'; opaque = NO; gestu ...
- django url 软编码
期初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了, ...