SHRegSetPathA 函数 (shlwapi.h)

获取文件路径,将文件夹名称替换为环境字符串,并将生成的字符串置于注册表中。

语法

LSTATUS SHRegSetPathA(
  [in] HKEY   hKey,
  [in] LPCSTR pcszSubKey,
  [in] LPCSTR pcszValue,
  [in] LPCSTR pcszPath,
       DWORD  dwFlags
);

参数

[in] hKey

类型: HKEY

当前打开的项的句柄,或注册表根键。

[in] pcszSubKey

类型: LPCTSTR

指向包含现有子项名称的以 null 结尾的字符串的指针。 如果子项不存在, SHRegSetPath 将失败。

[in] pcszValue

类型: LPCTSTR

指向以 null 结尾的字符串的指针,其中包含要保存路径字符串的值的名称。

[in] pcszPath

类型: LPCTSTR

指向具有完全限定文件路径的以 null 结尾的字符串的指针。

dwFlags

类型:DWORD

保留。

返回值

类型: LSTATUS

如果成功,则返回ERROR_SUCCESS,否则返回 Windows 错误代码。

注解

对于 Windows 2000,SHRegSetPath 使用 PathUnExpandEnvStrings 将文件夹名称转换为其相应的环境字符串。 如果替换了任何环境变量,则将使用 REG_EXPAND_SZ 数据类型设置注册表值。 否则,将使用 REG_SZ 数据类型设置它。

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

文件夹 环境字符串
当前用户的配置文件文件夹 %USERPROFILE%
“所有用户”配置文件文件夹 %ALLUSERSPROFILE%
Program Files 文件夹 %ProgramFiles%
系统根文件夹 %SystemRoot%
系统驱动器号 %SystemDrive%
 
注意 %USERPROFILE% 相对于进行调用的用户。 如果从服务模拟用户,则此函数不起作用。
 
上表中列出的环境变量可能并非都是在任何特定系统上设置的。 如果未设置环境变量,则不会取消扩展。 具体而言,没有为 Windows 95 或 Windows 98 的默认环境设置这些变量。 %ProgramFiles% 变量是 Windows 2000 的新变量,通常不会在 Microsoft Windows NT 4.0 系统上设置。

注意

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

要求

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