共用方式為


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_SZREG_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 版或更新版本)