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 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | shlwapi.h |
連結庫 | Shlwapi.lib |
DLL | Shlwapi.dll 版 (5.0 版或更新版本) |