如何用AU3获取系统变量的真实路径?
比如我设定了一个系统变量%IEtemp%,其路径为“C:\Program Files\IEtemp”,请问,我用AU3如何获得这个变量%IEtemp%的真实路径? 比如我设定了一个系统变量%IEtemp%,其路径为“C:\Program Files\IEtemp”,
请问,我用AU3如何获得这个变 ...
kood481748 发表于 2011-1-22 21:49 http://www.autoitx.com/images/common/back.gif
我知道获取系统变量的方法有两个:
1.大多数常用的变量在au3里面都有设置成了宏.比如:
@HomeDrive = 当前用户的帐号目录所在驱动器盘符(例: C:)
@TempDir = 临时文件夹
等等,更多的宏目录请查看帮助文件
2.使用内置的注册表函数读取注册表,获得路径.
比如你要找的IE Cache保存路径之一是在
"Cache" 里面的.
在这里你用Regread函数读取这个项的值就可以得到IE的缓存路径. 回复 2# easied
楼主兄弟说的这个注册表的位置是获取系统变量路径,我要的是用户自定义变量的路径。
不过还是谢谢你了 回复easied
楼主兄弟说的这个注册表的位置是获取系统变量路径,我要的是用户自定义变量的路径。
不过 ...
kood481748 发表于 2011-1-22 22:23 http://www.autoitx.com/images/common/back.gif
抱歉,之前没看清楚.不过获取用户自定义的变量也是可以用查找注册表的原理找得到的.
假设你建了一个名为 %IEtemp% 的用户变量. 那么也会在注册表里面也保存有键名和路径.你只要知道这个路径和键名,就可以用RegRead准确的得到这个值.
这个路径在:
如果你不知道这个键名,也可以用RegEnumKey和RegEnumVal配合@error宏来获得键名和它的值 EnvGet("IEtemp") EnvGet("IEtemp")
skyfree 发表于 2011-1-23 06:51 http://www.autoitx.com/images/common/back.gif
在WinXP下测试,获取系统默认的环境变量成功.获取自定义的失败,返回空字符. 本帖最后由 netegg 于 2011-1-25 09:01 编辑
#Include <WinAPI.au3>
msgbox(0,0,_WinAPI_ExpandEnvironmentStrings('%temp%'))
或者
#include <WinApiEx.au3>
_WinAPI_ShellGetSpecialFolderPath(。。。。)
页:
[1]