在應用程式中使用已知資料夾

已知資料夾系統可讓您與 Windows 中預設存在的特定高設定檔資料夾互動。 它也允許這些與應用程式所安裝及向已知資料夾系統註冊的資料夾進行相同的互動。 本主題討論已知資料夾 API 所提供的可能互動。

重要

若要將檔、圖片或桌面資料夾重新導向至 OneDrive,請使用 OneDrive 已知資料夾移動,而不是本文所述的重新導向方法。 如需詳細資訊,請參閱 將 Windows 已知資料夾重新導向並移至 OneDrive

已知資料夾介面

有兩個已知資料夾介面: IKnownFolderIKnownFolderManager

IKnownFolderManager 提供許多有關這些資料夾的較一般函式。 其方法可讓您:

  • 根據該資料夾的KNOWNFOLDERID、其標準名稱、以字串表示的路徑,或以 IDList 表示的路徑,擷取IKnownFolder
  • 將 CSIDL 轉換為其 KNOWNFOLDERID 對等專案,或將 KNOWNFOLDERID 轉換為其舊版 CSIDL 對等專案。
  • 向系統註冊或取消註冊已知資料夾。
  • 擷取在該系統上註冊的所有 KNOWNFOLDERID 值。
  • 將已知資料夾重新導向至新的位置。

IKnownFolder 提供方法,可藉由提供新的路徑,讓資料夾重新導向本身。 其其他方法會取得特定已知資料夾的相關資訊,包括:

  • 資料夾的類別:虛擬、固定、一般或每個使用者。
  • 資料夾的類型,例如壓縮、檔、圖片或使用者檔案。
  • 資料夾的 KNOWNFOLDERID
  • 資料夾的完整路徑,做為 IDList 或字串。 此外,其父資料夾的相對路徑。
  • 資料夾的正式名稱。
  • 顯示資料夾的工具提示。
  • 為資料夾顯示的圖示。
  • 說明其用途和使用的資料夾描述。
  • 資料夾是否能夠重新導向。

IKnownFolder 也提供方法來根據資料夾擷取 IShellItem 。 這可讓您將資料夾系結至處理常式、比較兩個資料夾,以及擷取資料夾的屬性、顯示名稱和父資料夾。

重新導向

資料夾重新導向是已知資料夾系統的重要功能。 類別 通用KF_CATEGORY_COMMON***每個使用者KF_CATEGORY_PERUSER*** 的所有已知資料夾都可重新導向。 但無法重新導向 類別虛擬KF_CATEGORY_VIRTUAL***固定KF_CATEGORY_FIXED*/資料夾

資料夾可以重新導向至相同電腦上的另一個位置,或重新導向至網路上的位置。 在網路重新導向的情況下,資料夾可以透過用戶端快取在本機快取來提供離線存取。 不過,即使本機快取存在,重新導向的資料夾本身也必須透過網路存取。

Windows Vista 的資料夾重新導向不是新的。 例如,在 Windows XP 中,某些透過 CSIDL 系統識別的資料夾可以透過對 SHSetFolderPath 的呼叫,或修改登錄中的 CSIDL 專案來重新導向。 在 Windows Vista 和更新版本中,應該透過 IKnownFolder::SetPathSHSetKnownFolderPath來完成重新導向。

若要判斷是否可以重新導向資料夾,請呼叫 IKnownFolder::GetRedirectionCapabilities。 如果無法重新導向資料夾,此呼叫可以提供說明。

如果資料夾重新導向至網路位置,仍可成功呼叫 IKnownFolder 方法。

已知資料夾範例