PathUnExpandEnvStringsA 函数 (shlwapi.h)

将完全限定路径中的某些文件夹名称替换为其关联的环境字符串。

语法

BOOL PathUnExpandEnvStringsA(
  [in]  LPCSTR pszPath,
  [out] LPSTR  pszBuf,
  [in]  UINT   cchBuf
);

参数

[in] pszPath

类型:LPCTSTR

指向长度为 null 的字符串的指针,该字符串的最大长度MAX_PATH,其中包含要取消展开的路径。

[out] pszBuf

类型:LPTSTR

指向缓冲区的指针,此方法成功返回时,将接收未展开的字符串。 必须将此缓冲区的大小设置为MAX_PATH,以确保它足够大,可以容纳返回的字符串。

[in] cchBuf

类型:UINT

pszBuf 缓冲区中的大小(以字符为单位)。

返回值

类型:BOOL

如果成功,则返回 TRUE;否则,FALSE

言论

以下文件夹路径替换为其等效的环境字符串。

文件夹 环境字符串
“所有用户”配置文件文件夹 %ALLUSERSPROFILE%
当前用户的应用程序数据文件夹(仅 Windows Vista 及更高版本)。 %APPDATA%
系统名称 %COMPUTERNAME%
Program Files 文件夹 %ProgramFiles%
系统根文件夹 %SystemRoot%
系统驱动器号 %SystemDrive%
当前用户的配置文件文件夹 %USERPROFILE%
 
注意 %APPDATA% 和 %USERPROFILE% 相对于用户进行呼叫。 如果用户正在从服务中模拟,则此函数不起作用。 有关访问控制问题的进一步讨论,请参阅 访问控制
 
上表中列出的环境变量可能不会在所有系统上设置。 如果未设置环境变量,则不会取消展开。

注意

shlwapi.h 标头将 PathUnExpandEnvStrings 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional、Windows XP [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 shlwapi.h
Shlwapi.lib
DLL Shlwapi.dll (版本 5.0 或更高版本)

另请参阅

DoEnvironmentSubst