请教关于环境变量的取值问题(200分)

  • 主题发起人 主题发起人 dead_lee
  • 开始时间 开始时间
D

dead_lee

Unregistered / Unconfirmed
GUEST, unregistred user!
我想得到目前系统中某些环境变量的值,应该使用那个函数,我不想解析自动批处理文件,<br>因为用户有可能写一个bat来调用我的程序的。。。所以我关心的是当前进程的环境变量值<br>。。。<br>
 
通过写Ini文件或者写注册表的方法不能实现你的需求么?<br>在你的程序中提供修改环境变量的接口,用户修改环境变量后保存到ini文件或者注册表<br>中,下次启动首先读取这些值,做相应的处理。<br>如果这种处理可以满足你的需要的话,剩下的就只是注册表的读写操作了,随便找些帖子看<br>看就成。
 
关键有些环境变量是通用的,比如我要用到Path变量,你这种方法就很不好了.
 
是这个吧?但是没有太清楚的理解你的意思。<br>function ExpandEnvironment(const strValue: string): string;<br>var<br>&nbsp; chrResult: array[0..1023] of Char;<br>&nbsp; wrdReturn: DWORD;<br>begin<br>&nbsp; wrdReturn := ExpandEnvironmentStrings(PChar(strValue), chrResult, 1024);<br>&nbsp; if wrdReturn = 0 then<br>&nbsp; &nbsp; Result := strValue<br>&nbsp; else<br>&nbsp; begin<br>&nbsp; &nbsp; Result := Trim(chrResult);<br>&nbsp; end;<br>end;<br><br>{如下,获得在Windows 下临时目录}<br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; Caption:= ExpandEnvironment('%Temp%');<br>end;
 
就是你给的这个Api,太好了....<br>就是要得到环境变量的值,当然如果能分别得到系统的和自己进程的就更好,<br>不过现在这个也很好了
 
后退
顶部