谁修改过注册表的环境变量path?

lmpeel 2006-04-02 08:10:54
这样写对吗?
Reg.RootKey := HKEY_CURREN_USER;

if Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\Session Manager\Environment', True) then
begin
addpath := Reg.ReadString('path');
if pos('c:\oracle\ora92\bin', addPath) <= 0 then
Reg.WriteString('path', addpath + ';c:\oracle\ora92\bin');
end;

为什么写了后path值都无效了?原来的那些路径都失效了
...全文
183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
老之 2006-04-02
  • 打赏
  • 举报
回复
嗯,是类型写入时的类型不匹配。
记得以前有人遇过读写不了REG_MULTI_SZ类型的数据,最后是没用TRegistry,用API来实现。
cuteant 2006-04-02
  • 打赏
  • 举报
回复
你的RootKey的确是错了,这样你还能执行里面的程序吗?
lmpeel 2006-04-02
  • 打赏
  • 举报
回复
我知道了 ,要用WriteExpandString
cuteant 2006-04-02
  • 打赏
  • 举报
回复
Reg.WriteString('path', addpath + ';c:\oracle\ora92\bin');
-------------------
addpath + ';c:\oracle\ora92\bin'???
lmpeel 2006-04-02
  • 打赏
  • 举报
回复
Reg.RootKey := HKEY_Local_MACHINE;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧