SHRegSetPathW 函数 (shlwapi.h)

采用文件路径,将文件夹名称替换为环境字符串,并将生成的字符串放在注册表中。

语法

LSTATUS SHRegSetPathW(
  [in] HKEY    hKey,
  [in] LPCWSTR pcszSubKey,
  [in] LPCWSTR pcszValue,
  [in] LPCWSTR 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 Professional、Windows XP [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 shlwapi.h
Shlwapi.lib
DLL Shlwapi.dll (版本 5.0 或更高版本)