SHRegGetPathA 函式 (shlwapi.h)
從登錄擷取檔案路徑,視需要展開環境變數。
語法
LSTATUS SHRegGetPathA(
[in] HKEY hKey,
[in] LPCSTR pcszSubKey,
[in] LPCSTR pcszValue,
[out] LPSTR pszPath,
DWORD dwFlags
);
參數
[in] hKey
類型: HKEY
目前開啟之機碼的句柄,或登錄根機碼的句柄。
[in] pcszSubKey
類型: LPCTSTR
包含子機碼名稱之 Null 終止字串的指標。
[in] pcszValue
類型: LPCTSTR
Null 終止字串的指標,其中包含保存未展開路徑字串之值的名稱。
[out] pszPath
類型: LPTSTR
要保存展開路徑的緩衝區。 您應該將此緩衝區的大小設定為 MAX_PATH ,以確保它夠大,足以保存傳回的字串。
dwFlags
類型: DWORD
保留的。
傳回值
類型: LSTATUS
如果成功,則傳回 ERROR_SUCCESS ,否則傳回 Windows 錯誤碼。
備註
指定登錄值的數據類型必須是 REG_EXPAND_SZ 或 REG_SZ。 如果具有 REG_EXPAND_SZ 類型,則會使用 ExpandEnvironmentStrings 展開登錄字串中的任何環境變數。 如果具有 REG_SZ 數據類型,則不會展開環境變數, 而且 pszPath 指向的字串會與登錄中的字串相同。
下列環境字串將會由其對等路徑取代。
環境字串 | 資料夾 |
---|---|
%USERPROFILE% | 目前使用者的配置檔資料夾 |
%ALLUSERSPROFILE% | [所有使用者] 設定檔資料夾 |
%ProgramFiles% | Program Files 資料夾 |
%SystemRoot% | 系統根資料夾 |
%SystemDrive% | 系統驅動器號 |
注意 %USERPROFILE% 相對於進行呼叫的使用者。 如果使用者從服務模擬,此函式將無法運作。
注意
shlwapi.h 標頭會將SHRegGetPath定義為別名,根據UNICODE預處理器常數的定義,自動選取此函式的ANSI或Unicode版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | shlwapi.h |
程式庫 | Shlwapi.lib |
Dll | Shlwapi.dll (5.0 版或更新版本) |