本文主要是介绍Inno---注册系统环境变量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[Code]//环境变量名、值、是否安装(删除)、是否所有用户有效
procedure SetEnv(aEnvName, aEnvValue: string; aIsInstall: Boolean);//设置环境变量函数
var
sOrgValue: string;
x,len: integer;
begin//得到以前的值RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', aEnvName, sOrgValue)sOrgValue := Trim(sOrgValue);beginx := pos( Uppercase(aEnvValue),Uppercase(sOrgValue));len := length(aEnvValue);if aIsInstall then//是安装还是反安装beginif length(sOrgValue)>0 then aEnvValue := ';'+ aEnvValue;if x = 0 then Insert(aEnvValue,sOrgValue,length(sOrgValue) +1);endelsebeginif x>0 then Delete(sOrgValue,x,len);if length(sOrgValue)=0 then beginRegDeleteValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',aEnvName);exit;end;end;StringChange(sOrgValue,';;',';');RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', aEnvName, sOrgValue)end;
end;procedure CurStepChanged(CurStep: TSetupStep);
beginif CurStep = ssPostInstall then//在这儿调用,一定在这儿调用,安装完无须重启,立即生效SetEnv('path','D:\\OpenCV\\bin',true);
end;
这篇关于Inno---注册系统环境变量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!