共用方式為


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

已知資料夾系統提供了一種與 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 方法。

已知資料夾範例