找回密码
 加入
搜索
查看: 4924|回复: 6

[AU3基础] 如何用AU3获取系统变量的真实路径?

  [复制链接]
发表于 2011-1-22 21:49:54 | 显示全部楼层 |阅读模式
比如我设定了一个系统变量%IEtemp%,其路径为“C:\Program Files\IEtemp”,
请问,我用AU3如何获得这个变量%IEtemp%的真实路径?
发表于 2011-1-22 22:03:11 | 显示全部楼层
比如我设定了一个系统变量%IEtemp%,其路径为“C:\Program Files\IEtemp”,
请问,我用AU3如何获得这个变 ...
kood481748 发表于 2011-1-22 21:49



我知道获取系统变量的方法有两个:
1.大多数常用的变量在au3里面都有设置成了宏.比如:
@HomeDrive = 当前用户的帐号目录所在驱动器盘符(例: C:)
@TempDir     = 临时文件夹
等等,更多的宏目录请查看帮助文件

2.使用内置的注册表函数读取注册表,获得路径.
比如你要找的IE Cache保存路径之一是在
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Cache" 里面的.
在这里你用Regread函数读取这个项的值就可以得到IE的缓存路径.

评分

参与人数 1金钱 +10 收起 理由
kood481748 + 10

查看全部评分

 楼主| 发表于 2011-1-22 22:23:18 | 显示全部楼层
回复 2# easied

楼主兄弟说的这个注册表的位置是获取系统变量路径,我要的是用户自定义变量的路径。
不过还是谢谢你了
发表于 2011-1-22 22:34:36 | 显示全部楼层
回复  easied
楼主兄弟说的这个注册表的位置是获取系统变量路径,我要的是用户自定义变量的路径。
不过 ...
kood481748 发表于 2011-1-22 22:23


抱歉,之前没看清楚.不过获取用户自定义的变量也是可以用查找注册表的原理找得到的.
假设你建了一个名为 %IEtemp% 的用户变量. 那么也会在注册表里面也保存有键名和路径.你只要知道这个路径和键名,就可以用RegRead准确的得到这个值.
这个路径在:[HKEY_CURRENT_USER\Environment]
如果你不知道这个键名,也可以用RegEnumKey和RegEnumVal配合@error宏来获得键名和它的值
发表于 2011-1-23 06:51:29 | 显示全部楼层
EnvGet("IEtemp")
发表于 2011-1-25 03:27:20 | 显示全部楼层
EnvGet("IEtemp")
skyfree 发表于 2011-1-23 06:51


在WinXP下测试,获取系统默认的环境变量成功.获取自定义的失败,返回空字符.
发表于 2011-1-25 06:05:23 | 显示全部楼层
本帖最后由 netegg 于 2011-1-25 09:01 编辑

#Include <WinAPI.au3>
msgbox(0,0,_WinAPI_ExpandEnvironmentStrings('%temp%'))
或者
#include <WinApiEx.au3>
_WinAPI_ShellGetSpecialFolderPath(。。。。)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 21:41 , Processed in 0.080387 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表